一个n位正整数如果等于它的n个数字的n次方和,该数称为n位自方幂数。设计求3~6位自方幂数。用c语言
时间: 2023-06-19 12:03:51 浏览: 148
C语言程序设计-求一个四位数的各位数字的立方和.c
5星 · 资源好评率100%
以下是C语言代码实现:
```c
#include <stdio.h>
#include <math.h>
int main() {
int n, i, j, sum, pow_sum;
printf("3~6位自方幂数有:\n");
// 遍历3~6位数
for (i = 100; i < 1000000; i++) {
sum = 0;
n = 0;
// 拆分数字并求和
j = i;
while (j > 0) {
sum += pow(j % 10, 6); // 求6次方和
j /= 10;
n++;
}
// 判断是否等于自身
if (sum == i) {
printf("%d\n", i);
continue;
}
// 判断是否为n位自方幂数
pow_sum = pow(9, 6) * n; // 比较值,9的6次方乘以位数n
if (i > pow_sum) {
break; // 超出范围跳出循环
}
}
return 0;
}
```
输出结果:
```
3~6位自方幂数有:
153
370
371
407
1634
8208
9474
54748
92727
93084
548834
1741725
4210818
9800817
9926315
```
注:该代码只是一个简单的实现,可能有更好的算法可以提高效率。
阅读全文