程式設計題 習題4 6 水仙花數

2021-10-18 17:55:04 字數 1088 閱讀 1786

水仙花數是指乙個n位正整數(n≥3),它的每個位上的數字的n次冪之和等於它本身。例如:

本題要求編寫程式,計算所有n位水仙花數。

輸入在一行中給出乙個正整數n(3≤n≤7)。

按遞增順序輸出所有n位水仙花數,每個數字佔一行。

3
153

370371

407

第一種方法:

第一種方法的思想時呼叫c語言庫中的pow函式,但是這個**在pta練題的軟體上,當n的值為7時,系統用會提醒執行超時。

#include

#include

intsearch

(int n,

int i,

int max)

while

(tar);if

(sum == i)

}return0;

}int

main()

//尋找在最小值最大值之間的水仙花數

for(i = min; i <= max; i++)}

return0;

}

第二種方法:

不使用pow()函式,自己寫乙個for迴圈去實現pow()函式。

int

search

(int n,

int i,

int max)

sum = sum + a;

tar = tar /10;

}while

(tar);if

(sum == i)

}return0;

}int

main()

//尋找在最小值最大值之間的水仙花數

for(i = min; i <= max; i++)}

return0;

}

對於本題,當n取值為7時,運用手動實現的pow()函式比呼叫庫函式中的pow()函式,執行效率提高了很多,大大節約了時間。當然本人的水平有限,現在還在入門的階段,這個方法的解決我是參考了其他博主已經寫出來**,,我才知道這個執行超時的錯誤該如何去解決。感謝他們!!!

習題4 6 水仙花數

水仙花數是指乙個n位正整數 n 3 它的每個位上的數字的n次冪之和等於它本身。例如 153 153 13 5 3 3 3 本題要求編寫程式,計算所有n位水仙花數。輸入格式 輸入在一行中給出乙個正整數n 3 n 7 輸出格式 按遞增順序輸出所有n位水仙花數,每個數字佔一行。3153 370371 40...

習題4 6 水仙花數

水仙花數是指乙個n位正整數 n 3 它的每個位上的數字的n次冪之和等於它本身。例如 153 1 5 3 本題要求編寫程式,計算所有n位水仙花數 輸入在一行中給出乙個正整數n 3 n 7 按遞增順序輸出所有n位水仙花數,每個數字佔一行。153370 371407 輸入幾就是幾位數我們可以用pow 10...

習題4 6 水仙花數

習題4 6 水仙花數 20分 水仙花數是指乙個n位正整數 n 3 它的每個位上的數字的n次冪之和等於它本身。例如 153 1 3 5 3 3 3 本題要求編寫程式,計算所有n位水仙花數。輸入在一行中給出乙個正整數n 3 n 7 按遞增順序輸出所有n位水仙花數,每個數字佔一行。3153 370371 ...