本文主要是介绍UVA 11728 - Alternate Task (数论),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Uva 11728 - Alternate Task
题目链接
题意:给定一个因子和,求出对应是哪个数字
思路:数字不可能大于因子和,对于每个数字去算出因子和,然后记录下来即可
代码:
#include <stdio.h>
#include <string.h>const int N = 1005;
int n, ans[N];void init() {memset(ans, -1, sizeof(ans));for (int i = 1; i <= 1000; i++) {int sum = 0;for (int j = 1; j <= i; j++) {if (i % j == 0)sum += j;}if (sum <= 1000) ans[sum] = i;}
}int main() {int cas = 0;init();while (~scanf("%d", &n) && n) {printf("Case %d: %d\n", ++cas, ans[n]);}return 0;
}
这篇关于UVA 11728 - Alternate Task (数论)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!