C语言实现水仙花数的求解方法
C语言求水仙花数,也叫做阿姆斯壮数,是指一个n位数,其各位数字的n次方和等于它本身。以下是C语言代码实现:
#include
#include <math.h>
int main() {
int num, sum, temp, remainder, n;
printf("请输入一个数字范围:");
int start, end;
scanf("%d %d", &start, &end);
for (num = start; num <= end; num++) {
temp = num;
sum = 0;
n = (int)log10(num) + 1; // 计算数字的位数
while (temp != 0) {
remainder = temp ;
sum += pow(remainder, n); // 求数字各位数的n次方
temp /= 10;
}
if (sum == num) {
printf("%d 是水仙花数
", num);
}
}
return 0;
}
</math.h>
该代码可以求出指定范围内的水仙花数。核心思想是通过对每个数字求其各位数字的n次方和,判断是否等于原数字。
1.59KB
文件大小:
评论区