【发布时间】:2011-06-01 01:26:38
【问题描述】:
我需要编写一个 C 程序来找到完美数..
main()
{
int n=1000,sum = 0;
for(int num = 1; num <= n; num++)
{
sum = 0;
for(int i = 1; i < num; i++)
{
if(!(num%i))
{
sum+=i;
}
}
if(sum == num)
printf("\n%d",num);
}
}
if(!(num%i)) - 这是 d 行,我不明白。
如果有其他简单的方法请给我建议
【问题讨论】:
-
% 运算符用于将左侧除以右侧的余数 1 % 3 = 1; 2% 3 = 2; 3% 3 = 0; 4% 3 = 1; 5% 3 = 2; 6 % 3 = 0;
-
什么是完美数?
42? :) 你写了你不理解的代码?怎么会? -
你把它读作
if not remainder of num / i。 -
@Felix: 一个数,是其除数之和
标签: c perfect-numbers