close
數學不是我的強項,關於什麼是阿姆斯壯數也是找網路才知道是什麼定義,奇怪的是維基百科居然找不到這個項目,可能太冷門了
網路上找到阿姆斯壯數定義:
所謂阿姆斯壯數 (Armstrong number)指的是一個n位數的整數,它的所有位數的n次方和恰好等於自己
如:1634 = 1^4 + 6^4 + 3^4+ 4^4
知道定義後程式要怎麼寫?
用最原始的暴力解題法,從頭搜尋到指定範圍為止
程式原理:
1.首先轉換被搜尋數值成為字串
2.計算字串有多少個組成字元(n),得出的數值就是要計算的n次方
3.拆解字串成為個別字元
4.轉換個別字元成為個別數值,計算個別數值的n次方輸出
5.計算個別數值n次方的總和
6.比較總和和被搜尋數值是否相等,相等時即為阿姆斯壯數將結果輸出
完成的程式如下圖:
程式執行結果:注意若指定搜尋範圍很大時,程式會執行很久
文章標籤
全站熱搜
留言列表