1.什么是四叶玫瑰花数
一个四位正整数等于其各位数字的四次方之和
2.题目实现
如下例题:
请找出所有的玫瑰花数,并从小到大输出。
简单的思路:
既然是用到了各位数字,那么就需要将每位数字单独出来进行计算,玫瑰花数固定为四位,因此只需要设四个变量即可。
因为知道需要判断的数字数量,所以直接使用for循环即可。
要算四次方,因此要调用函数。
#include<stdio.h>
#include<math.h>
int main()
{
int i,a=0,b=0,c=0,d=0;
for(i=1000;i<=9999;i++)
{
a=i%10;
b=i/10%10;
c=i/100%10;
d=i/1000;
if(pow(a,4)+pow(b,4)+pow(c,4)+pow(d,4)==i){
printf("%d ",i);
}
}
return 0;
}
本题重点是如何单独得到各位数字。
首先a是个位;
b先除10,去掉原个位,再求余,得到十位数字;
c与b思路相同;
d需要得到最高位,直接除1000就行,比较方便;
3.运行结果
结果正确。