解题思路:嵌套循环逐个判断
注意事项:重置sum、count!!!!!!
参考代码:
#include <stdio.h> int main() { //输入值、当前值、总和、下标计数器、公因数数组 int num,cur,sum,count,factors[100]; scanf("%d",&num); // 1、找出 2——num 所有完数 for(cur=2; cur<=num; cur++) { sum=count=0; //重置 // 2、找出当前数的所有公因数 for(int i=1; i<=cur/2; i++) { if(cur%i==0) { sum+=i; //总和 factors[count++]=i; //公因数 } } // 3、是完数则输出 if(sum==cur) { printf("%d its factors are",cur); for(int i=0; i<count; i++) printf(" %d",factors[i]); printf("\n"); } } }
0.0分
0 人评分