加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

C语言-完数的两种代码方法

(2017-04-03 16:35:01)
标签:

c语言

分类: C语言

题目内容:

一个正整数的因子是所有可以整除它的正整数。而一个数如果恰好等于除它本身外的因子之和,这个数就称为完数。例如6=1+2+3(6的因子是1,2,3)。

现在,你要写一个程序,读入两个正整数n和m(1<=n

提示:可以写一个函数来判断某个数是否是完数。

1,调用函数法

  1. #include   
  2. int test_number(int number)  
  3.    
  4.     int i,sum=0;    
  5.     for(i=1;i
  6.         if(number%i==0){    
  7.             sum+=i;    
  8.            
  9.        
  10.     if(sum==number){    
  11.         return 1;    
  12.     }else   
  13.         return 0;    
  14.        
  15.    
  16. int main(){    
  17.     int m,n,i,count=0;    
  18.     
  19.     scanf("%d %d",&n,&m);    
  20.     for(i=n;i<=m;i++){    
  21.         if(test_number(i)==1){    
  22.             if(count!=0){    
  23.                 printf(");    
  24.                
  25.             printf("%d",i);    
  26.             count++;  
  27.            
  28.      
  29.     if(count==0){    
  30.         printf("NIL\n");    
  31.         
  32.     return 0;    
  33. }

2,一个主函数方法

  1. #include  
  2. int main()  
  3.  
  4.     int j,sum,n,m;  
  5.     int count 0;  
  6.     scanf("%d %d",&n,&m);  
  7.     for (; <= m; n++){  
  8.         sum 0;  
  9.         for (j 1; n; j++){  
  10.             if (n%j == 0)  
  11.             sum += j;  
  12.          
  13.         if (sum == n){  
  14.             count++;  
  15.             if (count!= 1){  
  16.             printf(");        
  17.             printf("%d"sum);  
  18.              
  19.          
  20.      
  21.     if(count==0){  
  22.             printf("NIL\n");  
  23.          
  24.     return 0;  

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有