输入任意一个正整数x,判断它是否为完数,如是,输出"perfectnumber",否则输出“noperfectnumber”。
提示:
完数:如果一个整数的各个因子(不包括本身)之和等于该数本身,这个数称完数。
如:6=1+2+3 是完数
分析:
输入一个正整数--》x
求x的各个因子之和
{
sum=0;
x/[1..x-1]
for(i=1;i<=x-1;i++)
{
if (x%i==0)
sum=sum+i;
}
}
判读因子之和是否和x相等,如相等,输出"perfectnumber",否则输出“noperfectnumber”
#include <stdio.h>
int main()
{
int x,i,sum=0;
scanf("%d",&x);
for(i=1;i<=x-1;i++) //1..x-1
{
if (x%i==0)
sum=sum+i;
}
if (sum==x)
printf("perfectnumber");
else
printf("noperfectnumber");
return 0;
}
上一页
[1]
[2]
[3]
[4]
[5]