题解 | #牛牛的四叶玫瑰数#

牛牛的四叶玫瑰数

https://www.nowcoder.com/practice/b1ee23676ad54919b50aa1a09da1704e

#include <stdio.h>
#include<math.h>

// 计算 base 的 n 次幂
int pow4(int base) {
    return base * base * base * base;
}

// 检查数字是否为四叶玫瑰数
int isFourLeafRose(int num) {
if (num < 1000 || num > 9999) // 四叶玫瑰数是四位数
        return 0;
    int sum = 0, temp = num;
    while (temp > 0) {
        int digit = temp % 10;
        sum += pow4(digit);
        temp /= 10;
    }
    return sum == num;
}

// 递归地遍历区间 [l, r] 的所有数字找出四叶玫瑰数
void findFourLeafRoses(int l, int r) {
    // 递归终止条件
    int count = 0;
    if (l > r)
        return;
     if(l==1)
     printf("%d ",1);
    if (isFourLeafRose(l))
    { 
 printf("%d ", l);
    }
   
    // 递归的进行下一个数的判断
    findFourLeafRoses(l + 1, r);
}

int main() {
    int l, r;
    scanf("%d %d", &l, &r);
    
    findFourLeafRoses(l, r);

    return 0;
}

全部评论

相关推荐

八股刚起步,看了javaguide,小林coding,还有面渣,感觉面渣是体验最好的,请问只看面渣够用吗,有不完善的需要补吗?
码农索隆:先背最基础的知识,然后理解情景题,现在面试大多数喜欢问情景题,更考验面试者的基础和临场发挥情况
点赞 评论 收藏
分享
代码飞升:别用口语,后端就写后端,前端就写前端,最后别光后悔
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务