这题呢...不是挺难。
题目描述
输入一个三位数n,判断它是否为水仙花数,如果是则输出Yes,不是则输出No。水仙花数:是指一个3位数,它的每个位上的数字的3次幂之和等于它本身。(例如1的立方+5的立方+3的立方=153)
输入
输入一个三位数n(整数)
输出
Yes/No
样例输入 复制
153
样例输出 复制
Yes
#include <iostream>
using namespace std;
int main()
{
先输入熟悉到不能再熟的三件套。
int n,g,b,s,p;
cin>>n;
定义一堆变量,再输入变量n。
g=n%10;
s=n/10%10;
b=n/100%10;
接着拆分数位(拆分个位:n%10;拆分十位:n/10%10;拆分百位:n/100%10...)
(%为求余)
g=g*g*g;
s=s*s*s;
b=b*b*b;
p=g+s+b;
(g为个位,s为十位,b为百位)
立方:n*n*n(与它本身相乘3次)。
if(p==n){
cout<<"Yes";
}
p是三个数位的立方的和。
如果p=输入的变量n,输出“Yes”。
else{
cout<<"No";
}
否则输出“No”。
return 0;
}
最后return 0;
这个拆分数位是很经典的c++题,这一题只不过是将它与水仙花数结合了。
(水仙花数前面题目描述有)
讲的差不多了。
收工!