用c语言输出所有四叶玫瑰数
时间: 2024-05-06 08:15:19 浏览: 128
四叶玫瑰数是指满足以下条件的自然数 n:n 等于各个十进制位上数字的四次方和。例如,1634 是四叶玫瑰数,因为 1^4 + 6^4 + 3^4 + 4^4 = 1634。
下面是用 C 语言输出所有四叶玫瑰数的代码:
```c
#include <stdio.h>
int main() {
int n, sum, digit, temp;
printf("所有的四叶玫瑰数:\n");
for (n = 1000; n < 10000; n++) {
sum = 0;
temp = n;
while (temp > 0) {
digit = temp % 10;
sum += digit * digit * digit * digit;
temp /= 10;
}
if (sum == n) {
printf("%d\n", n);
}
}
return 0;
}
```
输出结果如下:
```
所有的四叶玫瑰数:
1634
8208
9474
```
注意,四叶玫瑰数只有 3 个,它们分别是 1634、8208 和 9474。
相关问题
用c语言编写程序,四叶玫瑰数是指四位数各位上的数字的四次方之和等于本身的数。编写函数,判断某个四位数是不是四叶玫瑰数,如果是则返回1,否则返回0。在主函数中调用此函数找出所有的四叶玫瑰数并输出。
```c
#include <stdio.h>
int is_four_leaf(int n) {
int a = n / 1000; // 千位
int b = n % 1000 / 100; // 百位
int c = n % 100 / 10; // 十位
int d = n % 10; // 个位
int sum = a*a*a*a + b*b*b*b + c*c*c*c + d*d*d*d;
return sum == n;
}
int main() {
int i;
for (i = 1000; i < 10000; i++) {
if (is_four_leaf(i)) {
printf("%d\n", i);
}
}
return 0;
}
```
用c语言 一个四位正整数m,如果其各位数字的4次方的和等于m,则称m为四叶玫瑰数。编程输出全部四叶玫瑰数
#include <stdio.h>
int main() {
int m, i, j, k, l, sum;
for (m = 1000; m < 10000; m++) {
i = m % 10; // 取个位
j = m / 10 % 10; // 取十位
k = m / 100 % 10; // 取百位
l = m / 1000; // 取千位
sum = i * i * i * i + j * j * j * j + k * k * k * k + l * l * l * l; // 计算四次方和
if (sum == m) { // 如果四次方和等于原数,输出
printf("%d\n", m);
}
}
return 0;
}
阅读全文