HDU ——2010 水仙花数

来源:互联网 发布:饥荒联机版mac 编辑:程序博客网 时间:2024/06/07 10:09
Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u
Submit Status Practice HDU 2010

Description

春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的: 
“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。 
现在要求输出所有在m和n范围内的水仙花数。 
 

Input

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

Output

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

Sample Input

100 120300 380
 

Sample Output

no

370 371

代码如下:

#include<stdio.h>int main(){    int n,m,x,y,z,i,t;    while(~scanf("%d%d",&n,&m))         {        t = 0;      ///用来标记,因为每两个数之间都要有一个空格        for(i = n; i <= m; i ++)        {            x=i%10;            y=i%100/10;            z=i/100;            if(i == x*x*x + y*y*y + z*z*z)      ///判断是不是素数            {                if(!t)      ///是素数,判断是不是第一个数,若是的话前面没有空格                {                    printf("%d",i);                    t = 1;      ///令t = 1;提示编译器前面已经输出一个元素,后面的元素之前要加上空格                }                else                    printf(" %d",i);        ///注意%d前面有一个空格            }        }        if(!t)      ///若此时t = 0;说明没有符合题意要求的数,此时输出no            printf("no");        printf("\n");       ///空格最后输出    }    return 0;}

0 0
原创粉丝点击