輸出符合範圍內的水仙花數:一個三位數,它的各位數字的立方和等於其本身

程式碼女民工發表於2021-09-18

題目: 春天是鮮花燦爛的季節,水仙花就是其中最迷人的代表,數學上有個水仙花數,他是這樣定義的:“水仙花數”是指一個三位數,它的各位數字的立方和等於其本身,比如:153=1^3+5^3+3^3。現在要求輸出所有在m和n範圍內的水仙花數。


輸入

輸入資料有多組,每組佔一行,包括兩個整數m和n(100<=m<=n<=999)。


輸出

對於每個測試例項,要求輸出所有在給定範圍內的水仙花數,就是說,輸出的水仙花數必須大於等於m,並且小於等於n,如果有多個,則要求從小到大排列在一行內輸出,之間用一個空格隔開(注意每組輸出的最後一個數之後不要加空格);如果給定的範圍內不存在水仙花數,則輸出no;每個測試例項的輸出佔一行。


樣例輸入

100 120

300 380


樣例輸出

no

370 371


我的程式碼如下:

#include<cstdio>

int main()

{

    int m,n,a,b,c,i,t,ant;

    while(scanf("%d%d",&m,&n)!=EOF){

        ant=0;

        if(m>n){

            t=m;

            m=n;

            n=t;

        }

        if(m<100||n>999)

            continue;

        for(m;m<n;m++){

            a=m/100;

            b=m/10%10;

            c=m%10;

            if(m==a*a*a+b*b*b+c*c*c){

                if(ant==0){

                    printf("%d",m);

                    ant=1;

                }

                else

                    printf(" %d",m);

            }

        }

        if(ant==1)

            printf("\n");

        else

            printf("no\n");

    }

    return 0;

}


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70007056/viewspace-2792854/,如需轉載,請註明出處,否則將追究法律責任。

相關文章