【C語言訓練】阿姆斯特朗數
阿新 • • 發佈:2019-02-04
題目連結:http://115.28.203.224/problem.php?cid=1010&pid=36
題目描述
如果一個正整數等於其各個數字的立方和,則稱該數為阿姆斯特朗數(亦稱為自戀性數)。
如 407=4^3+0^3+7^3就是一個阿姆斯特朗數。試程式設計求大於1小於1000的所有阿姆斯特朗數。
輸入
輸出
從小到大輸出,數之間用兩個空格分開
樣例輸出
153 370
提示
可採用窮舉法,依次取1000以內的各數(設為i),將i的各位數字分解後,據阿姆斯特朗數的性質進行計算和判斷。
程式碼
1 #include <iostream> 2 using namespace std; 3int main() 4 { 5 int flower[1000]; 6 int a, b, c; 7 int i, j, sum; 8 for (i = 100, j = 0; i < 1000; i++) 9 { 10 a = i / 100; 11 b = i / 10 % 10; 12 c = i % 10; 13 sum = a * a * a + b * b * b + c * c * c; 14 if (sum == i) 15 { 16 flower[j] = i;17 j++; 18 } 19 } 20 for (i = 0; i < j; i++) 21 { 22 cout<<flower[i]; 23 if (i != j - 1) 24 cout<<" "; 25 } 26 return 0; 27 }