HDOJ2010_水仙花数

一道水题。一直出现Output Limit Exceeded的原因是在while循环中没有终止条件的时候会自动判断并报错,写的时候忘记加!=EOF结束标识了。

HDOJ2010_水仙花数

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>

int main()
{
	int num[1000]={0};
	int i,j;
//	//将100~999以内的水仙花数标识出来 
	for(i=100;i<=999;i++)
	{
		int n1,n2,n3;
		n1=i%10;
		n2=(i/10)%10;
		n3=i/100;
		if(i==n1*n1*n1+n2*n2*n2+n3*n3*n3)
		{
			num[i]=1;
		}
	}
	
	int a,b;
	while(scanf("%d %d",&a,&b)!=EOF)
	{
		int flag=0;
		for(i=a;i<=b;i++)
		{
			if(num[i]==1)
			{
				flag==1?printf(" "):flag=1;
				printf("%d",i);
			}
		}
		if(flag==0)
		{
			printf("no");
		}
		printf("
");
	}
}
原文地址:https://www.cnblogs.com/heihuifei/p/10455023.html