写程序:逐步求精 for(i=1:<=100;i++ for(j=1, sum=0: j<i; j++) (%j=0 sU+=l if(i==sum) 输出泥是完数,计数器加1 输出完数的个数
11 写程序:逐步求精 … for(i=1;i<=100;i++) { 如果i是完数,输出i,并将计数器加1 } 输出完数的个数。 先求i的所有因子之和sum。 如果sum和与i相等,则i是完数,输出i,计数器 加1 for(j=1;j<I:j++) {判断每一个j是否为I的因子,是的话累加求和 } 如果求和的结果与I相等,则j是完数,计数器加1 for(j=1,sum=0;j<i:j++) {if(i%j==0) sum+=j; } if(i==sum) { 输出i是完数,计数器加1 }
程序 include <stdio.h> void maino [int i, counter=o, sum: for(i=1:<=100i++ for(j=1,sum=0∷j<=i∥2∷j+)循环求m的因子之和*/ if(o = i%j) sum+ J if(sum=)判断m是否为完数*/ printf %d is a wanshu\n",i); counter++: printf( There are %d wanshu(s)between 1 and 100\n counter
12 程序 #include<stdio.h> void main() {int i,counter=0,sum; for(i=1;i<=100;i++) { for(j=1,sum=0;j<=i/2;j++) /*循环求m的因子之和*/ {if(0 == i%j) sum+=j; } if(sum==i) /*判断m是否为完数*/ { printf("%d is a wanshu\n",i); counter++; } } printf("There are %d wanshu(s) between 1 and 100\n",counter); }