摘要:目錄問題問題求解及代碼實現問題描述求出之間的所有水仙花數并輸出。水仙花數是指一個位數,其各位數字的次方之和確好等于該數本身,如,則是一個水仙花數。
1.問題描述
求出0~100000之間的所有“水仙花數”并輸出?!八苫〝怠笔侵敢粋€n位數,其各位數字的n次方之和確好等于該數本身,如 : 153=1 ^ 3+5 ^ 3+3 ^ 3,則153是一個“水仙花數”。
2.問題求解及代碼實現
首先嚴格意義上的水仙花數應該是一個三位數,這里的“水仙花數”范圍為0~100000,這就給我們加大了難度,我們想要求解各位數的n次方之和的話,我們需要首先求解這個數是個幾位數,我們使用下面的代碼簡單實現:
while (w > 0) { w /= 10; i++; }
這樣就可以求得一個數w的位數i,接下來為了代碼簡潔易懂,我們編寫一個函數求解一個數的n次方的值,代碼如下:
int x(int a,int b){ int g = 0; int sum = 1; for (g = 0; g < b; g++) { sum *= a; } return sum;}
之后我們將一個n位數的每一位都剝離出來,使用上述函數求得每一位的n次方的值,最后再累加起來,若累加起來的值等于這個數本身,我們則稱之為”水仙花數“,并將之打印。完整代碼如下:
int x(int a,int b){ int g = 0; int sum = 1; for (g = 0; g < b; g++) { sum *= a; } return sum;}int main(){ int n = 0; int y = 0; int z = 0; int j = 0; int w = 0; for (n = 0; n <= 100000; n++) { int i = 0; int m = 0; y = n; z = n; w = n; while (w > 0) { w /= 10; i++; } while (y > 0) { j = y % 10; m += x(j, i); y/= 10; } if (z == m) printf("%d ", m); } return 0;}
最終打印出的結果為
?本文到此結束。感謝大家的閱讀,歡迎點贊評論,互關互注,祝大家萬事如意。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/125388.html
摘要:水仙花數是指一個三位數,其各位數字的立方和確好等于該數本身,如,則是一個水仙花數。一水仙花數因為水仙花數是三位數,所以我們把范圍定為。代碼運行結果代碼語言其中的一種方法,只輸出水仙花數,下文會進行拓展。 目錄 前言 一、水仙花數 1.代碼(Java) 2.運行結果(Java) 3.代碼(C語...
摘要:基礎之控制結構學習目標代碼塊與縮進條件語句語句語句的嵌套斷言循環循環循環中斷循環控制語句綜合嵌套列表解析式基礎相關鏈接學習目標是簡潔易學面向對象的編程語言。 Py...
摘要:資源獲取方式根據下面的索引,大家可以選擇自己需要的資源,然后在松哥公眾號牧碼小子后臺回復對應的口令,就可以獲取到資源的百度云盤下載地址。公眾號二維碼如下另外本文會定期更新,松哥有新資源的時候會及時分享給大家,歡迎各位小伙伴保持關注。 沒有一條路是容易的,特別是轉行計算機這條路。 松哥接觸過很多轉行做開發的小伙伴,我了解到很多轉行人的不容易,記得松哥大二時剛剛決定轉行計算機,完全不知道這...
摘要:簡介是目前最流行的深度學習框架。代表一個數學運算,簡稱,這里面包括了深度學習模型經常需要使用的。這也是名字的由來,表示多維數組在中流動。這一步指定求解器,并設定求解器的最小化目標為損失。 簡介 TensorFlow是目前最流行的深度學習框架。我們先引用一段官網對于TensorFlow的介紹,來看一下Google對于它這個產品的定位。 TensorFlow? is an open sou...
閱讀 3801·2023-01-11 11:02
閱讀 4307·2023-01-11 11:02
閱讀 3130·2023-01-11 11:02
閱讀 5238·2023-01-11 11:02
閱讀 4802·2023-01-11 11:02
閱讀 5575·2023-01-11 11:02
閱讀 5380·2023-01-11 11:02
閱讀 4080·2023-01-11 11:02