写一个函数,判断某一个四位数是不是玫瑰花数(所谓玫瑰花数即该四位数各位数字的四次方和恰好等于该数本身,如:1634=14+64+34+44)。在主函数中调用该函数,判断出所有的玫瑰花数。
#include
#include <math.h>
using namespace std;
int fun(int num);
int main() {
int num,s;
for(num=1000;num<=9999;num++)
{s=fun(num);
cout<<s<<" ";}
return 0;
}
int fun(int num)
{
int a,b,c,d;
a=num/1000;
b=num%1000/100;
c=num%100/10;
d=num%10;
if(num==a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d)
return num;
}
我觉得我的思路很正确,但是输出结果很离谱