题目描述:
如果一个四位数,它的每个位上的数字的四次方之和等于它本身,那么这个数字就是一个四叶玫瑰数。
现在,请你判断输入的数字是否为一个四叶玫瑰数。
输入格式:
一个待判断数n;
输出格式:
如果是四叶玫瑰数,输出”yes”;否则,输出”no”。
样例输入:
样例1: 1234 样例2: 1634
样例输出:
样例1: no 样例2: yes
提示:
对于样例1:1^4+2^4+3^4+4^4=354 不等于1234 所以错误
对于样例2:1^4+6^4+3^4+4^4=1634 所以正确
思路:
把千位、百位、十位、个位分别拆出来。
时间限制: 1000ms
空间限制: 256MB
代码如下
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,a1,x,s=0;
cin>>a;
a1=a;
while(a){
x=a%10;
s=s+x*x*x*x;
a/=10;
}
if(a1==s){
cout<<"yes";
}else{
cout<<"no";
}
return 0;
}