关于四叶玫瑰花数的问题

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.运行结果

结果正确。 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值