huanyvlz 2021-12-31 09:31 采纳率: 75%
浏览 39
已结题

一道关于完数的c语言题

输出1000之内的全部“完数”,要求每行输出5个,并统计完数的个数。一个数如果恰好等于它的因子之和,就称其为完数。

  • 写回答

2条回答 默认 最新

  • 神仙别闹 2021-12-31 09:37
    关注
    #include "stdio.h"
    int main(int argc,char *argv[]){
        int n,m,k,i,s,t;
        for(s=k=0,n=4;n<1000;n++){
            for(m=1,t=n/2,i=2;i<=t;i++)
                if(n%i==0)
                    m+=i;
            if(m==n){
                printf(++k%5 ? "%d " : "%d\n",n);
                s++;
            }
        }
        if(k%5)
            printf("\n");
        printf("A total of %d.\n",s);
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月31日
  • 已采纳回答 12月31日
  • 创建了问题 12月31日