水仙花数

来源:互联网 发布:java发送邮件工具类 编辑:程序博客网 时间:2024/05/17 07:59

“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。 
现在要求输出所有在m和n范围内的水仙花数。 

输入描述:

输入数据有多组,每组占一行,包括两个整数m和n(100<=m<=n<=999)。

输出描述:

对于每个测试实例,要求输出所有在给定范围内的水仙花数,就是说,输出的水仙花数必须大于等于m,并且小于等于n,如果有多个,则要求从小到大排列在一行内输出,之间用一个空格隔开;       如果给定的范围内不存在水仙花数,则输出no;       每个测试实例的输出占一行。
示例1

输入

100 120300 380

输出

no370 371


#include<stdio.h>int main(){    int x,y,m,n,a,b,c;   int f;    while(scanf("%d %d",&m,&n)!=EOF)    {        f = 1;        for(x=m;x<=n;x++)        {            a=x/100;            y=x-a*100;            b=y/10;            c=y%10;            if(a*a*a+b*b*b+c*c*c == x)            {                if(f)                {                    printf("%d",x);                    f=0;                }                else                    printf(" %d",x);            }        }        if(f)printf("no\n");        else printf("\n");    }    return 0;}


原创粉丝点击