黑马程序员技术交流社区
标题:
这道题求完数 那错了 我写的地方 请指教
[打印本页]
作者:
该有个目标了
时间:
2014-8-23 14:21
标题:
这道题求完数 那错了 我写的地方 请指教
#include<stdio.h>
int main()
{
int i,n,sum=0;
for(n=2;n<=1000;n++)
{
for(i=1;i<=n;i++)
{
if(n%i==0)
sum +=i;
if(sum==n)
{
printf("%d ",n);
for(i=1;i<n;i++)
{
if(n%i==0)
printf("%d",i);
} printf("\n");
}
}
}
return 0;
}
请写清楚 那的错误 感谢
作者:
❤如止水之絕境
时间:
2014-8-23 19:59
题目是什么啊????
作者:
该有个目标了
时间:
2014-8-23 21:13
求1-1000内的所有完数
作者:
ixx__123
时间:
2014-8-23 21:15
括号
作者:
朱亚男
时间:
2014-8-23 22:40
本帖最后由 朱亚男 于 2014-8-23 22:42 编辑
#include<stdio.h>
int main()
{
int i,n,sum=0;
for(n=2;n<=1000;n++)
{
for(i=1;i<n;i++)
{
if(n%i==0)
{
sum +=i;
}
}
if(sum==n)
{
printf("%d\n",n);
for(i=1;i<n;i++)
{
if(n%i==0)
printf("%d ",i);
}
printf("\n");
}
sum=0;
}
return 0;
}
作者:
周易
时间:
2014-8-23 23:28
完数是不是水仙花数?
作者:
王振宇351x
时间:
2014-8-23 23:48
int main(){
int i,n,sum;
for(n=1;n<=1000;n++)
{
sum = 0; // 每次都必须初始化sum,,原因自己想.
for(i=1;i<n;i++) // i必须小于n,否则,每个数和1都是自己的因子,那么就不可能是自己的因子之和了. 比如,1+2+3+6>6,,只剩1了.
{
if(n%i==0)
sum +=i;
}
if(sum==n) // 必须等循环结束,才做判断,否则,会多很多数. 比如24.
{
printf("%d ",n);
for(i=1;i<n;i++)
{
if(n%i==0)
printf("%d ",i);
} printf("\n");
}
}
return 0;
}
复制代码
作者:
该有个目标了
时间:
2014-8-24 14:26
oh yes you are right 3Q
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2