2010--水仙花數

題目:“水仙花數”是指一個三位數,它的各位數字的立方和等於其本身,比如:153=1^3+5^3+3^3。
現在要求輸出所有在m和n範圍內的水仙花數


要輸出m到n之間的水仙花數,題目是要求m<=n的,所以在開始時一定要做處理當m<=n時纔開始判斷是否是水仙花數。可以用flag的值來判定m到n之間是否有滿足條件的數,如果到最好,flag的值一直沒有改變,說明沒有滿足條件的數,直接輸出no;否則輸出滿足條件的數。
要注意最後的輸出格式,除了最後一個數,前面每個數後面都有一個空格,也可以用flag來控制空格的輸出。

#include<stdio.h>
int main()
{
    int m,n;
    while (scanf ("%d%d",&m,&n)!=EOF)
    {
        int x,y,z,i;
        if (m<=n)
        {
            int flag=0;
            for (i=m;i<=n;i++)
            {
                x=i/100;
                y=i/10%10;
                z=i%10;
            if (i==x*x*x+y*y*y+z*z*z)
            {
                if (flag==1)
                printf (" ");
            printf ("%d",i);
            flag=1;
            }
            }
    if (flag==0)
    printf ("no\n");
    else printf ("\n");
        }
    }
    return 0;
}
發佈了41 篇原創文章 · 獲贊 0 · 訪問量 8102
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章