水仙花数是指一个 n 位数 ( n >= 3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)
给出一个整数M,求 >= M的最小的水仙花数。
Input一个整数M(10 <= M <= 1000)Output输出>= M的最小的水仙花数Sample Input
99
Sample Output
153
#include<iostream>
using namespace std;
int main()
{
int n,m,sum,i;
cin>>n;
for(i=n;i<1000;i++)
{
sum=0,m=i;
while(m!=0)
{
sum+=(m%10)*(m%10)*(m%10);
m=m/10;
}
if(sum==i)
{
cout<<i<<endl;
break;
}
}
return 0;
}
题解:可爱的小花花水题。