四叶玫瑰数 ← 自幂数

【题目描述】
输入两个正整数 n 和 m,请将 n~m(1≤n≤m≤1000000)之间(含 n 和 m)的四叶玫瑰数按从小到大的顺序输出。

四叶玫瑰数,即四位的自幂数,其各位上的数字的四次方之和等于其本身。四位的四叶玫瑰数共有3个,分别是:1634、8208、9474。

【知识点:自幂数】
一个 n 位的自然数,若它各位上的数字的 n 次幂之和等于它本身,则称之为
n 位自幂数
一位自幂数:独身数 → 0,1,2,3,4,5,6,7,8,9
二位自幂数:/
三位自幂数:水仙花数 → 153,370,371,407
四位自幂数:四叶玫瑰数 → 1634,8208,9474
五位自幂数:五角星数 → 54748,92727,93084
六位自幂数:六合数 → 548834
七位自幂数:北斗七星数 → 1741725,4210818,9800817,9926315
八位自幂数:八仙数 → 24678050,24678051,88593477
九位自幂数:九九重阳数 → 146511208,472335975,534494836,912985153
十位自幂数:十全十美数 → 4679307774


【算法代码】

#include <bits/stdc++.h>
using namespace std;

bool isRoseNumber(int x) {
    int in=x;
    int sum=0;
    int t;

    while(x>0) {
        t=x%10;
        sum+=pow(t,4);
        x/=10;
    }

    return sum==in;
}

int main() {
    int n,m;
    cin>>n>>m;
    for(int i=n; i<=m; i++) {
        if(isRoseNumber(i)) cout<<i<<" ";
    }
    return 0;
}

/*
in:
1000 10000

out:
1634 8208 9474
*/



【参考文献】
https://www.meipian.cn/4a249q8z
https://blog.csdn.net/M1stic/article/details/135315290
https://blog.csdn.net/weixin_47786582/article/details/122509330




 

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值