完数

自然语言解决问题:根据完数的定义,解决本题的关键是计算出所选取的整数 (i的取值范围不固定)的因子(因子就是所有可以整除这个数的数 ,将各因子累加到量 (记录所有因子之和),若s 等于i,则可确认i为完数,反之则不是完数

流程图:

 

具体代码:

#include <stdio.h>
main(){

int i,r,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-05-06 15:24  Mini-Q  阅读(45)  评论(0)    收藏  举报