#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; }