题目描述
水仙花数是指一个N位正整数(N>=3),它的每个位上的数字的N次方之和等于它本身。例 如:153=13+53+33 。判断一个数是否为水仙花数。
输入格式
一个正整数n(102<n<109)
输出格式
true或false
输入样例
153
输出样例
true
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
栈限制
8192 KB
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int n;
cin>>n;//分两步
int t=n,sum=0,i=0,j=0;
while(n){
n=n/10;
i++;
}
n=t;
//进行求出幂次方
while(n)
{
j=n%10;
sum+=pow(j,i);
n=n/10;
}
//求所想要的值并与之对比
if(sum==t) cout<<"true";
else cout<<"false";
}