水仙花数
时间限制:
1000
ms | 内存限制:
65535
KB
难度:
0
-
描述
-
请判断一个数是不是水仙花数。
其中水仙花数定义各个位数立方和等于它本身的三位数。-
输入
-
有多组测试数据,每组测试数据以包含一个整数n(100<=n<1000)
输入0表示程序输入结束。
输出
-
如果n是水仙花数就输出Yes
否则输出No
样例输入
-
153 154 0
样例输出
-
Yes No
-
有多组测试数据,每组测试数据以包含一个整数n(100<=n<1000)
我的代码:
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int x;
while (cin >> x && x != 0)
{
int temp = 0;
temp = (x / 100)*(x / 100)*(x / 100)+(x % 10)*(x % 10)*(x % 10)+(x / 10 % 10)*(x / 10 % 10)*(x / 10 % 10);
if (x == temp)
cout << "Yes" << endl;
else
cout << "No" << endl;
}
return 0;
}
这也没啥好说的,就是固定的三位数,直接把每位取出来求立方和,和原来的数字进行比较就ok了