码迷,mamicode.com
首页 > 其他好文 > 详细

一个数如果恰好等于它的因子之和,这个数就称为"完数"。 例如,6的因子为1、2、3,而6=1+2+3,因此6是"完数"。 编程序找出N之内的所有完数,

时间:2017-03-15 20:38:32      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:factor   can   include   else   head   pre   tor   return   sum   

题目描述

一个数如果恰好等于它的因子之和,这个数就称为"完数"。 例如,6的因子为1、2、3,而6=1+2+3,因此6是"完数"。 编程序找出N之内的所有完数,并按下面格式输出其因子:

输入

N

输出

? its factors are ? ? ?

样例输入
1000
样例输出
6 its factors are 1 2 3 
28 its factors are 1 2 4 7 14 
496 its factors are 1 2 4 8 16 31 62 124 248 

代码:
#include<stdio.h>

int main()
{
    int n,i,z;
    
    scanf("%d",&n);
    
    for(z=2;z<n;z++)
    {
     int j,b,k,a[100],sum;
    b=z;k=0;sum=0;
    
       for(j=1;j<z;j++)
       {
            if(z%j==0){
               a[k]=j;k++;
           }
       }
       
      for(i=0;i<k;i++)
         sum=sum+a[i];
         
      if(sum==b){
         printf("%d its factors are ",b);
         
         for(i=0;i<k;i++)
          {
             if(i+1==k)
               printf("%d \n",a[i]);
             else
               printf("%d ",a[i]);
          }   
         }  
    }
    return 0;
 }

一个数如果恰好等于它的因子之和,这个数就称为"完数"。 例如,6的因子为1、2、3,而6=1+2+3,因此6是"完数"。 编程序找出N之内的所有完数,

标签:factor   can   include   else   head   pre   tor   return   sum   

原文地址:http://www.cnblogs.com/zady123/p/6556098.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!