Files
C_code/C语言/翁凯C语言/3/水仙花数.c
T
Serendipity 93c16edb5a 更新MD文件路径引用
- 修正主README.md中的所有路径引用,使其与当前文件结构一致
- 更新翁凯C语言学习指南链接路径
- 更新五子棋AI项目文档链接路径
- 更新数据结构学习文档链接路径
- 修正编译说明和学习模块使用指南中的目录路径
- 改进五子棋README.md的编译运行说明,增加Windows和Linux/macOS的分平台指导
- 确保所有文档链接和路径引用都能正确工作
2025-10-17 10:52:27 +08:00

57 lines
794 B
C

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
int power(int a, int x) //a的x次方运算
{
if (x < 0)
{
printf("输入错误,请重新输入!\n");
return -1;
}
else
{
int sum = 1;
for (int i = 0; i < x; i++)
{
sum *= a;
}
return sum;
}
}
int main()
{
int n;
printf("请输入一个正整数n(3 ≤ n ≤ 7):");
scanf("%d", &n);
if (n < 3 || n > 7)
{
printf("输入错误,请重新输入!\n");
}
else
{
int lower = power(10, n - 1); //n位数的最小值
int upper = power(10, n) - 1; //n位数的最大值
for (int num = lower; num <= upper;num++) //缩小范围,减少运算量
{
int sum=0;
int m = num;
while(m>0)
{
int a = m % 10;
sum += power(a,n);
m /= 10;
}
if (num==sum)
{
printf("%d\n", sum);
}
}
}
return 0;
}