一、问题描述:
二、设计思路:
找一个范围内的完数,首先得找因子,怎么找因子呢?因子可以由输入的数字从1到该数字(优化为到该数字的一半)依次求余得到,然后用累加的思想,sum+=i,将得到的因子加到这个和里面,我们这样就完成了一个数字的求因子,我们求的是一个范围,那么至少得两层循环来达到要求,第一层循环结束后,把求和sum置0,不然下一次就不能准确求到该因子。
三、程序流程图:
四、代码实现:
#include<stdio.h> int main() { int x,i,j; int sum; scanf("%d",&x); for( j=2;j<=x;j++) { sum=0; for( i=1;i<j;i++) { if(j%i==0) sum+=i; } if(sum==j) { printf("是完数:%d",j); printf("\n"); } } return 0; }
大功告成,看点爱与死亡机器人奖励一下自己,嘻嘻
标签:数字,int,sum,因子,循环,完数 From: https://www.cnblogs.com/bzsc/p/17369705.html