數學不是我的強項,關於什麼是阿姆斯壯數也是找網路才知道是什麼定義,奇怪的是維基百科居然找不到這個項目,可能太冷門了

 


網路上找到阿姆斯壯數定義:


所謂阿姆斯壯數 (Armstrong number)指的是一個n位數的整數,它的所有位數的n次方和恰好等於自己


如:1634 = 1^4 + 6^4 + 3^4+ 4^4


知道定義後程式要怎麼寫?


用最原始的暴力解題法,從頭搜尋到指定範圍為止

 


程式原理:


1.首先轉換被搜尋數值成為字串


2.計算字串有多少個組成字元(n),得出的數值就是要計算的n次方


3.拆解字串成為個別字元


4.轉換個別字元成為個別數值,計算個別數值的n次方輸出


5.計算個別數值n次方的總和


6.比較總和和被搜尋數值是否相等,相等時即為阿姆斯壯數將結果輸出

 


完成的程式如下圖:

20120130-02  

 

 

程式執行結果:注意若指定搜尋範圍很大時,程式會執行很久

20120130-01  

arrow
arrow
    文章標籤
    作業習題 阿姆斯壯數
    全站熱搜

    未出師的小工程師 發表在 痞客邦 留言(0) 人氣()