..
int IsPerfect(int m); main() {
int m,i,p;
printf(\ scanf(\ p=m;
if(Fun(m)==1)
printf(\ else {
printf(\ for(i=2;i if(p%IsPerfect(i)==0&&p/IsPerfect(i)!=1&&IsPerfect(i)!=1) printf(\ else if(p%IsPerfect(i)==0&&p/IsPerfect(i)==1&&IsPerfect(i)!=1) { printf(\ break; } ;. .. else continue; p=p/i; while(p%i==0) { if(p/i!=1) { printf(\ p=p/i; } else { printf(\ break; } } } } return 0; } int Fun(int m) ;. .. { int i, result; result = 1; if (m != 2) { for (i = 2; i < m; i++) { if (m % i == 0) { result = 0; break; } } } return result; } int IsPerfect(int m) { int i, result; result=1; if (m != 2) ;. .. { for (i = 2; i <= m; i++) { if (m % i == 0) break; else if(m%i!=1&&m/i!=1) continue; else result=m; } } else result=2; return result; } Q198.(10分)第7章实验任务5 如果一个正整数m的所有小于m的不同因子(包括1)加起来正好等于m本身,那么就被称它为完全数。它是指这样的一些特殊的自然数,它所有的真因子(即除了自身以外的约数)的和,恰好等于它本身。 注意:1没有真因子,所以不是完全数。例如,6就是一个完全数,是因为6 = 1 + 2 + 3。 请编写一个判断完全数的函数IsPerfect(),然后判断从键盘输入的整数是否是完全数。 ;.
相关推荐: