C语言-完数的两种代码方法
(2017-04-03 16:35:01)
标签:
c语言 |
分类: C语言 |
题目内容:
一个正整数的因子是所有可以整除它的正整数。而一个数如果恰好等于除它本身外的因子之和,这个数就称为完数。例如6=1+2+3(6的因子是1,2,3)。
现在,你要写一个程序,读入两个正整数n和m(1<=n
提示:可以写一个函数来判断某个数是否是完数。
1,调用函数法
-
#include
-
int
test_number( intnumber) -
{
-
int i,sum=0; -
for(i=1;i -
if(number%i==0){ -
sum+=i; -
} -
} -
if(sum==number){ -
return 1; -
}else{ -
return 0; -
} -
}
-
int
main(){ -
int m,n,i,count=0; -
-
scanf("%d %d" ,&n,&m); -
for(i=n;i<=m;i++){ -
if(test_number(i)==1){ -
if(count!=0){ -
printf(" " ); -
} -
printf("%d",i); -
count++; -
} -
} -
if(count==0){ -
printf("NIL\n"); -
} -
return 0; - }
2,一个主函数方法
-
#include
-
int
main() -
{
-
int j,sum,n,m; -
int count = 0; -
scanf("%d %d" ,&n,&m); -
for (; n <= m; n++){ -
sum = 0; -
for (j = 1; j < n; j++){ -
if (n%j == 0) -
sum += j; -
} -
if (sum == n){ -
count++; -
if (count!= 1){ -
printf(" " ); -
printf("%d", sum); -
} -
} -
} -
if(count==0){ -
printf("NIL\n"); -
} -
return 0; -
}
前一篇:C语言-分解质因数
后一篇:Python数据结构——栈