打卡
1.问题:如果一个正整数等于其各个数字的立方和,则称该数为阿姆斯特朗数(亦称为自恋性数)。如 407=4^3+0^3+7^3就是一个阿姆斯特朗数。试编程求1000以内的所有阿姆斯特朗数。
2.思路:分离出整数每一位并求其立方和,然后整体相加看其是否等于原来的整数。
3.程序流程图:

4.代码实现:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int a, b, c;
for (int i = 2; i < 1000; i++)
{
a = i / 100;
b = (i % 100) / 10;
c = i % 10;
if (i == pow(a, 3) + pow(b, 3) + pow(c, 3))
cout << i << " ";
}
return 0;
}

浙公网安备 33010602011771号