挖財公司機試題(水仙花數)

這也算是第一次寫博客了,期待以後能夠爲大家解決更多的問題,和大家一起分享編程的喜悅,享受編程之美。

要求:

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

輸入描述:

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

輸出描述:

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

輸入

100 120
300 380

輸出

no
370 371
程序主體:

#include <stdio.h>

#include <stdlib.h>
#include <math.h>
int main()
{
    int a,b;
    while(~scanf("%d %d",&a,&b))
    {
 
        int i=0;
        i=a;
        int flag=0;
        while(i++<=b)
        {
            if(pow(i/100,3)+pow((i%100)/10,3)+pow(i%10,3)==i)
            {
                flag++;
                if (flag ==1)
                    printf("%d",i);
                else if(flag>1)
                    printf(" %d",i);
            }
        }
 
        if(flag==0)
            printf("no\n");
        else
            printf("\n");
 
 
    }
    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章