2838 四叶玫瑰数 枚举check

#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N = 1e3+10;
bool check(int x)
{
    int sum = 0,m = x;
    //分割m,然后计算次方和sum
    while(m != 0)
    {
        int k = m % 10; //取个位
        sum += pow(k,4); //累加k的4次方
        m /= 10; //去除个位 
    } 
    return sum == x; //水仙花数判断条件 
}
int main()
{
    for(int i = 1000; i <= 9999; i++)
        if(check(i))
            cout << i << " ";
    return 0;
}

 

posted @ 2024-10-17 16:28  CRt0729  阅读(12)  评论(0编辑  收藏  举报