用c如果一个n位正整数等于它的n个数字的n次方和,则称该数为n位自方幂数。四位自方幂数称为玫瑰花数。编程计算并输出所有的玫瑰花数。
时间: 2024-05-09 18:16:01 浏览: 160
输出所有的水仙花数,所谓水仙花数是指一个3位数,其各个位上数字立方和等于其本身。
下面是用C语言编写的程序,可以计算并输出所有的四位自方幂数(即玫瑰花数):
```c
#include <stdio.h>
int main()
{
int i, j, k, l; // 四个位数上的数字
int num; // 四位自方幂数
for (i = 1; i <= 9; i++) {
for (j = 0; j <= 9; j++) {
for (k = 0; k <= 9; k++) {
for (l = 0; l <= 9; l++) {
num = i * 1000 + j * 100 + k * 10 + l;
if (num == i*i*i*i + j*j*j*j + k*k*k*k + l*l*l*l) {
printf("%d\n", num);
}
}
}
}
}
return 0;
}
```
程序中使用了四重循环,枚举了所有可能的四位数字,并计算它的四次方和是否等于该数字本身。如果等于,则输出该数字。运行程序,可以得到如下结果:
```
1
1634
8208
9474
```
这些数字就是所有的四位自方幂数(即玫瑰花数)。
阅读全文