刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

四叶玫瑰数

时间限制:1000MS

内存限制: 65536KB

题目描述:

编程实现: 四叶玫瑰数

四叶玫瑰数是指一个四位数,其各位上的数字的四次方之和等于本身。给定两个正整数N和M,请将N~M (1<=N<=M<=1000000)之间 (含N和M)的四叶玫瑰数按从小到大的顺序输出。

例如: N=1234,M=2345时,有一个四叶玫瑰数1634,因为1^4 +6^4 + 3^4 + 4^4 = 1634,故输出1634。

输入描述

第一行输入两个正整数N、M (1<=N<=M<=1000000)

输出描述

输出一行,包含若干个用一个空格隔开的正整数,表示N~M之间的四叶玫瑰数按从小到大的顺序的输出结果

注意:

题目数据保证给定的N~M范围内至少有一个四叶玫瑰数


样例输入

1234 2345

样例输出

1634

使用微信搜索喵呜刷题,轻松应对考试!

答案:

```#include #include using namespace std;bool isRose(int n) int sum = 0;int temp = n;while (temp) {int digit = temp % 10;sum += pow(digit, 4);temp /= 10;}return sum == n;int main() int N, M;cin >> N >> M;for (int i = N; i <= M; i++) {if (isRose(i)) {cout << i << " ";}}return 0;```

解析:

【喵呜刷题小喵解析】:

首先,我们需要编写一个函数`isRose`来判断一个数是否为四叶玫瑰数。函数接受一个整数`n`作为参数,然后计算`n`的每一位数字的四次方之和,如果和等于`n`,则返回`true`,否则返回`false`。

在主函数中,我们读取输入的两个整数`N`和`M`,然后遍历`N`到`M`之间的所有整数,对于每个整数,调用`isRose`函数判断是否为四叶玫瑰数,如果是,则输出该整数。

需要注意的是,由于题目保证至少有一个四叶玫瑰数,所以我们可以直接遍历`N`到`M`之间的所有整数,而不需要担心没有四叶玫瑰数的情况。
创作类型:
原创

本文链接:四叶玫瑰数 时间限制:1000MS 内存限制: 65536KB 题目描述: 编程实现: 四叶玫瑰数

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share