任何疑问、意见、建议请留言公众号:一航代码
题目描述:
写一个程序,该程序的功能是输出100到999之间的所有水仙花数。
水仙花数的特点是:它的每个位上的数字的三次幂之和等于它本身。
例如:371=3^3+7^3+1^3,因此371是水仙花数。
输出格式:
输出100到999之间所有的水仙花数。
输出样例:
153
370
371
407
解决方法:
(1)代码实现:
#include <bits/stdc++.h>
using namespace std;
bool narcissistic(int num)
{
int n1 = num % 10;
int n2 = (num / 10) % 10;
int n3 = (num / 100) % 10;
if (n1 * n1 * n1 + n2 * n2 * n2 + n3 * n3 * n3 == num)
{
return true;
}
else
{
return false;
}
}
int main()
{
for (int i = 100; i <= 999; i++)
{
if (narcissistic(i))
{
cout << i << endl;
}
}
return 0;
}