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;
}

 

posted @ 2012-04-09 18:48  dupuleng  阅读(88)  评论(0)    收藏  举报