|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 zxq01 于 2020-2-11 14:51 编辑
原题是 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程
找出1000以内的所有完数。
- #include "stdio.h"
- #include "conio.h"
- void main()
- {
- int i,j,t;
- for(i = 2;i <= 1000;i++)
- {
- t=i;
- for(j = 1;j < i;j++)
- {
- if((i % j) == 0)
- {
- t=t-j;
- }
- }
- if(t == 0)
- {
- printf("%d\n",i);
- }
- }
- }
复制代码- #include "stdio.h"
- #include "conio.h"
- void main()
- {
- int i,j,t=0;
- for(i = 2;i <= 1000;i++)
- {
-
- for(j = 1;j < i;j++)
- {
- if((i % j) == 0)
- {
- t=t+j;
- }
- }
- if(t == i)
- {
- printf("%d\n",i);
- }
- }
- }
复制代码
- #include "stdio.h"
- #include "conio.h"
- void main()
- {
- int i,j,t=0;
- for(i = 2;i <= 1000;i++)
- {
-
- for(j = 1;j < i;j++)
- {
- if((i % j) == 0)
- {
- t=t+j;
- }
- }
- if(t == i)
- {
- printf("%d\n",i);
- }
- }
- }
复制代码
少了一个代码
- int i,j,t=0;
- for(i = 2;i <= 1000;i++)
- {
-
- for(j = 1;j < i;j++)
- {
- if((i % j) == 0)
- {
- t=t+j;
- }
- }
- if(t == i)
- {
- printf("%d\n",i);
- }
- t=0;
- }
复制代码
这样子就行了
不然这个t一直有值,怎么可能相等呢
|
|