C语言编程:请编写一个程序寻找一种特殊整数:一个 n 位的正整数等于其各位数字的n次方之和。 例如:407=4×4×4+0×0×0+7×7×7。所以407就是一个特殊数。 输入: 正整数的位数n(n<=6)。 输出: 所有此n位特殊数。每个数占一行。若不存在符合条件的特殊数,则输出提示:"No output.”;若存在,则从小到大进行输出。
时间: 2023-05-17 13:04:53 浏览: 159
C语言程序设计-编写程序。从键盘读入8个整数存入数组a中并输出这8个数据。和、最大值、最小值及平均值。正数之和、负数之和
5星 · 资源好评率100%
以下是C语言编写的程序,可以寻找n位的特殊数:
#include <stdio.h>
#include <math.h>
int main()
{
int n, i, j, sum, num;
printf("请输入正整数的位数n:");
scanf("%d", &n);
printf("所有%d位特殊数为:\n", n);
for (i = pow(10, n - 1); i < pow(10, n); i++)
{
sum = 0;
num = i;
for (j = 0; j < n; j++)
{
sum += pow(num % 10, n);
num /= 10;
}
if (sum == i)
{
printf("%d\n", i);
}
}
if (i == pow(10, n))
{
printf("No output.\n");
}
return 0;
}
注意:此程序只能寻找n位的特殊数,n的取值范围为1到6。如果输入的n超出了这个范围,程序可能会出现错误。
阅读全文