解题思路:
很明显1不是完数设i为2代表起点小于等于N的for循环,1一定是任何完数的因子,而完数的因子不包括本身,设j为内循环故要小于i。我觉得下面代码思路清晰可以参考下
注意事项:
参考代码:
#include<stdio.h>
int main(){
int a,N,t;
scanf("%d",&N);
for(int i=2;i<=N;i++){
t=0;
for(int j=1;j<i;j++){
if(i%j==0){
t+=j;
}
}
if(t==i){
printf("%d its factors are 1",i);
for(int j=2;j<i;j++){
if(i%j==0)
printf(" %d",j);
}
printf("\n");
}
}
}
0.0分
0 人评分