4.27打卡

一、问题描述:
求某一范围内完数的个数。
如果一个数等于它的因子之和,则称该数为“完数”(或“完全数”)。例如,6的因子为1,2,3,而6=1+2+3,因此6是“完数”。
二、设计思路:

根据完数的定义,解决本题的关键是计算出所选取的整数i(i的取值范围不固定)的因子(因子就是所有可以整除这个数的数),将各因子累加到变量s(记录所有因子之和),若s等于i,则可确认i为完数,反之则不是完数。孩吃饭需要花1先令,请编程求出男人、女人和小孩各有几人。

三、程序流程图

 

 

 

四、代码实现

#include<stdio.h>

main()

{

    int i,j,s,n;

    printf("请输入所选范围上限: ");

    scanf("%d",&n);

    for(i=2;i<=n;i++)

    {

        s=0;

        for(j=1;j<i;j++)

        {

            if(i%j==0)

                s+=j;

        }

        if(s==i)

            printf("It's a perfect number:%d.\n",i);

    }

}

 

posted @ 2023-04-27 09:18  恋恋恋白  阅读(20)  评论(0)    收藏  举报