HDU1323 Perfection
2017-02-14 22:13
106 查看
原题传送
题目的意思是比较一个数与它的因子和,若相等为perfect;若这个数小于它的因子和为abundant;若这个数小于它的因子和为deficient
我们知道,如果一个数m=i*j(i != m && j != m)那么,i,j都为它的因子。因此,我们可以利用这制作循环把2-60000所有数的因子和求出,然后进行判断。
附代码:
题目的意思是比较一个数与它的因子和,若相等为perfect;若这个数小于它的因子和为abundant;若这个数小于它的因子和为deficient
我们知道,如果一个数m=i*j(i != m && j != m)那么,i,j都为它的因子。因此,我们可以利用这制作循环把2-60000所有数的因子和求出,然后进行判断。
附代码:
#include <stdio.h> int main(void) { int i, j; int A[60005]; for(i = 2;i < 60000;i++) A[i] = 1; for(i = 2;i < 245;i++) { //i * i <= 60000时退出循环,简化后i < 245 A[i * i] += i; //i * i的其中一个因子为i for(j = i + 1;i * j < 60001;j++) A[i * j] += i + j; //i * j的其中两个因子为i和j } puts("PERFECTION OUTPUT"); while(scanf("%d", &i), i) printf("%5d %s\n", i, i < A[i] ? "ABUNDANT" : i > A[i] ? "DEFICIENT" : "PERFECT"); puts("END OF OUTPUT"); return 0; }
相关文章推荐
- HDU1323_Perfection【水题】
- HDU1323:Perfection
- hdu1323-Perfection
- HDU1323_Perfection【水题】
- UVALive5429 UVA382 POJ1528 HDU1323 ZOJ1284 Perfection【整除+水题】
- ACM-数论之Perfection——hdu1323
- POJ 1528 Perfection
- POJ 1528 Perfection 模拟
- hdu 1323 Perfection
- HDU1323 Prefection
- poj 1528 Perfection
- poj 1528 Perfection
- poj 1528 Perfection
- 杭电 OJ 1323 Perfection
- Say No to Perfection
- 382 - Perfection
- TOJ 1571. Perfection
- HDU 1323 Perfection
- Counsel of perfection
- hdu1323