程序填空题:判断是否完美数
完美数是指一个正整数的所有的真因子(即除了自身以外的约数)的和,恰好等于它本身,例如:由于6=1+2+3,因此6是完美数。
下面的程序通过调用函数wms来判断一个数是否是完美数,然后输出,请填空完成程序相应功能。
```
int wms(int a)
{int i,s=0;
for(i=1;@@[i if(@@[a%i==0](2))
@@[s+=i](2);
if(s==a) return 1;
else return 0;
}
#include
int main(void)
{int x;
@@[ scanf("%d",&x)](2);
if(@@[wms(x)](2))
printf("%d yes\n",x);
else
printf("%d no\n",x);
return 0;
}
```
答案:
第1空:i
第2空:a%i==0
第3空:s+=i
第4空: scanf("%d",&x)
第5空:wms(x)
下面的程序通过调用函数wms来判断一个数是否是完美数,然后输出,请填空完成程序相应功能。
```
int wms(int a)
{int i,s=0;
for(i=1;@@[i if(@@[a%i==0](2))
@@[s+=i](2);
if(s==a) return 1;
else return 0;
}
#include
int main(void)
{int x;
@@[ scanf("%d",&x)](2);
if(@@[wms(x)](2))
printf("%d yes\n",x);
else
printf("%d no\n",x);
return 0;
}
```
答案:
第1空:i
第2空:a%i==0
第3空:s+=i
第4空: scanf("%d",&x)
第5空:wms(x)