C语言实现水仙花数计算:代码示例与原理解析
C语言实现水仙花数计算:代码示例与原理解析
什么是水仙花数?
水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如 153 = 1³ + 5³ + 3³。
C语言代码实现
#include <stdio.h>
#include <math.h>
int main() {
int num, digit, sum;
int count = 0;
for(num = 100; num <= 999; num++) {
sum = 0;
for(int i = 0; i < 3; i++) {
digit = (num / (int)pow(10, i)) % 10;
sum += pow(digit, 3);
}
if(sum == num) {
printf('%d ', num);
count++;
}
}
printf("\n共有%d个水仙花数", count);
return 0;
}
代码解析
-
循环遍历三位数: 代码使用
for循环遍历 100 到 999 之间的每个三位数。 -
计算各位数字立方和: 对于每个三位数
num,代码使用第二个for循环依次提取其各位数字,并计算其立方和。 -
判断是否为水仙花数: 如果计算得到的立方和等于
num本身,则表示该数为水仙花数,代码将其输出并计数。 -
输出结果: 循环结束后,代码输出所有找到的水仙花数以及它们的总数。
总结
本文介绍了 C语言实现水仙花数计算的方法,并提供了完整代码示例和详细解析。希望对读者学习 C语言编程和算法有所帮助。
原文地址: https://www.cveoy.top/t/topic/ooMD 著作权归作者所有。请勿转载和采集!