1060:完数VS盈数
坑爹呀!原来数字和冒号之间要有空格
#include<stdio.h>
#include<math.h>
int judge_e(int n)
{
int temp=0,i;
for(i=2;i<=sqrt(n*1.0);++i)
{
if(n%i==0)
{
if(n/i!=i)
temp=temp+i+n/i;
else
temp+=i;
}
}
++temp;
if(temp==n)
return 1;
else if(temp>n)
return -1;
else
return 0;
}
int main()
{
int e[60],g[60],ei,gi;
ei=0;
gi=0;
int i,j;
for (i=2;i<=60;++i)
{
int flag=judge_e(i);
if(flag==1)
e[ei++]=i;
else if(flag==-1)
g[gi++]=i;
}
printf("E:");
for(i=0;i<ei;++i)
{
printf(" %d",e[i]);
}
printf("\n");
printf("G:");
for(j=0;j<gi;++j)
{
printf(" %d",g[j]);
}
printf("\n");
return 0;
}

浙公网安备 33010602011771号