top of page

C#程式設計-水仙花數

這次達內報報從原理開始: 跟大家介紹如何用 C# 程式撰寫水仙花數的程式

水仙花數定義

有一個3位數字n如果他的每一位數的三次方加起來恰好等於n

我們就稱它為 :阿姆斯特朗數(水仙花數)三位超完全數字不變數


水仙花數舉例

153 = 1^3 + 5^3 + 3^3

370 = 3^3 + 7^3 + 0^3

371 = 3^3 + 7^3 + 1^3

407 = 4^3 + 0^3 + 7^3

而5^3 = 5 X 5 X 5 = 125…以此類推


水仙花數程式想法

計算水仙花數的方式是利用迴圈,針對範圍內的全部數值取得每個數值的百、十、個位數值,分別進行三次方運算後加總,並且判斷是否與原數值相等。


EX(舉例:767)

實際程式:(舉例:從100一直到 767)
int a, b, c;
int i = 100;
#假設i從100開始一直計算到767
#由於i會從100 一直計算到767,所以這邊我們選取i = 767
(也就是迴圈最後一個i)當作示範
while (i <= 767){
    #767/100取商等於7,並帶入a(為了求此數字百位數)
    a = i / 100; 
    #767除100求餘數取得67 
    b = i % 100;
    #67/10取商為6,並帶入b(為了求此數字十位數)
    b = b/10;
    #767除10求餘數得7,並帶入c(為了求此數字個位數)
    c = i % 10;
    #再分別將三個位數都做三次方運算並加總
    if (i == (a * a * a + b * b * b +   c * c * c))
    {
    #如果滿足條件則打印該數值為水仙花數
    Console.WriteLine(i + "為水仙花數");
    } 
    #從100累計+1直到767
    i++;
    }

執行結果

24 次查看

相關文章

查看全部

Comments


bottom of page