一、问题描述:
求某一范围内完数的个数。
如果一个数等于它的因子之和,则称该数为“完数”(或“完全数”)。例如,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);
}
}
标签:因子,完数,printf,打卡,4.27,范围 From: https://www.cnblogs.com/wanbeibei/p/17357995.html