1. 程式人生 > 其它 >1391: 水仙花數(函式專題)

1391: 水仙花數(函式專題)

技術標籤:c語言

1391: 水仙花數(函式專題)
題目描述
春天是鮮花的季節,水仙花就是其中最迷人的代表,數學上有個水仙花數,他是這樣定義的:“水仙花數”是指一個三位數,它的各位數字的立方和等於其本身,比如:153=13+53+33。
現在要求輸出所有在m和n範圍內的水仙花數。

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

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

每個測試例項的輸出佔一行。

樣例輸入
在這裡插入圖片描述

樣例輸出
在這裡插入圖片描述

#include <stdio.h>
#include <math.h>
void sum(int x,int y)
{
    int t;
    if(x>y)//交換兩個數的值
    {
        t=x;
        x=y;
        y=t;
    }
    int i,f=0;
    for(i=x;i<=y;i++)
    {
        if(i==pow((i/100),3)+pow((i/10%10),3)+pow((i%10),3))
        {
            if
(f==0) { printf("%d",i);//輸出第一個數,不帶空格。 f++; } else { printf(" %d",i);//輸出後面的數,前面帶空格。 f++; } } } if(f==0)//如果無水仙花數,輸出no printf("no\n"
); else printf("\n"); } int main() { int m,n; while(~scanf("%d %d",&m,&n)) sum(m,n);//呼叫函式 return 0; }