c语言:‘玫瑰花数’是指一个四位数,其各位数字的4次方 和等于该数本身,如1634=1*1*1*1+6*6*6*6+3*3*3*3+4*4*4*4.请编写程序输出所有"玫瑰花数.
时间: 2024-04-23 20:18:50 浏览: 100
C语言是一种通用的高级编程语言,它广泛应用于系统软件开发、嵌入式系统、游戏开发等领域。下面是一个用C语言编写的输出所有"玫瑰花数"的程序:
```c
#include <stdio.h>
int main() {
int num, digit, sum;
printf("所有玫瑰花数:\n");
for (num = 1000; num <= 9999; num++) {
sum = 0;
int temp = num;
while (temp > 0) {
digit = temp % 10;
sum += digit * digit * digit * digit;
temp /= 10;
}
if (sum == num) {
printf("%d\n", num);
}
}
return 0;
}
```
这个程序使用了一个循环来遍历所有四位数,然后计算每个数的各位数字的4次方和。如果计算结果等于该数本身,则输出该数。运行程序后,会输出所有的玫瑰花数。
相关问题
用C语言编写程序,打印1000-9999范围内所有的玫瑰花数。玫瑰花数是指一个四位数,它的各位数字的4次方之和等于该数本身。
#include <stdio.h>
int main() {
int num, digit1, digit2, digit3, digit4;
for(num = 1000; num <= 9999; num++) {
digit1 = num / 1000;
digit2 = (num / 100) % 10;
digit3 = (num / 10) % 10;
digit4 = num % 10;
if(num == digit1*digit1*digit1*digit1 + digit2*digit2*digit2*digit2 + digit3*digit3*digit3*digit3 + digit4*digit4*digit4*digit4) {
printf("%d\n", num);
}
}
return 0;
}
c语言输出所有水仙花数。所谓水仙花数是指一个3位数,其各位数字的立方和等于该数本身。
A:
```c
#include <stdio.h>
int main() {
int i, j, k;
for (i = 1; i < 10; i++) {
for (j = 0; j < 10; j++) {
for (k = 0; k < 10; k++) {
int num = i * 100 + j * 10 + k;
int sum = i * i * i + j * j * j + k * k * k;
if (num == sum) {
printf("%d\n", num);
}
}
}
}
return 0;
}
```
输出结果:
```
153
370
371
407
```
解释:
在三重循环中,分别枚举百位、十位和个位上可能的数字。对于每个三位数,计算其各位数字的立方和,并将结果与这个三位数本身进行比较。如果相等,则输出这个三位数。
阅读全文