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
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#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("请输入一个正整数n3 ≤ 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;
}