用c语言输出所有四叶玫瑰数
时间: 2024-05-06 18:15:19 浏览: 12
四叶玫瑰数是指满足以下条件的自然数 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语言输出1000-9999的第一个四叶玫瑰数
#include<stdio.h>
#include<math.h>
int main(){
int a,b,c,d;
int i,sum;
for(i=1000;i<10000;i++){
a=i/1000;
b=(i%1000)/100;
c=(i%100)/10;
d=i%10;
sum=pow(a,4)+pow(b,4)+pow(c,4)+pow(d,4);
if(sum==i){
printf("%d",i);
break;
}
}
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;
}