黑马程序员技术交流社区
标题:
今天考试的一道题,就是打印不出结果!大神帮忙看下
[打印本页]
作者:
13717407086
时间:
2016-5-13 22:02
标题:
今天考试的一道题,就是打印不出结果!大神帮忙看下
//2,完数,一般指完全数,一个自然数如果它的所有真因子(即除了自身以外的约数)的和等于该数,那么这个数就是完全数,如:6的真因子有1 、2、3,6=1+2+3,所以6是一个完全数。
//编程输出1000以内的所有完数
#include <stdio.h>
int main(int argc, const char * argv[]) {
//匡变量
int sum = 0;
// 双从循环
for (int i = 2; i <= 1000; i++)
{
for (int j = 1; j <i;j++)
if (i%j==0)
sum +=j;
//判断 是就输出 相加和等于原值
if (sum == i) {
printf("%d\n",i);
}
}
return 0;
}
作者:
2528
时间:
2016-5-14 08:35
sum 放在两个循环之间,代码改动如下:
#include <stdio.h>
int main(int argc, const char * argv[]) {
int sum ; //用来保存因子数之和
for (int i = 2; i <= 1000; i++){
sum = 0 ;
for (int j = 1; j <i;j++){
if (i%j==0){
sum +=j;
}
}
//判断 是就输出 相加和等于原值
if (sum == i) {
printf("%d\n",i);
}
}
return 0;
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2