导读 提起编程与数学的结合,怎能错过经典的水仙花数问题?水仙花数(Narcissistic Number)是指一个n位数,其每个位上的数字的n次幂之和等于它...
提起编程与数学的结合,怎能错过经典的水仙花数问题?水仙花数(Narcissistic Number)是指一个n位数,其每个位上的数字的n次幂之和等于它本身。比如153 = 1³ + 5³ + 3³,就是一个三位数的水仙花数。🤔
那么如何用C语言实现呢?首先定义循环范围,通常从100到999,因为三位数是水仙花数的典型代表。接着,通过取模运算逐位提取数字,并计算各位数字的三次幂之和,最后判断是否等于原数。如果相等,则输出该数字。💡
以下是简单代码示例👇
```c
include
int main() {
int num, temp, sum, digit;
printf("水仙花数有:\n");
for(num=100; num<=999; num++) {
temp = num;
sum = 0;
while(temp > 0) {
digit = temp % 10;
sum += digit digit digit;
temp /= 10;
}
if(sum == num)
printf("%d\n", num);
}
return 0;
}
```
运行这段代码,你会看到如梦如幻的水仙花数序列,仿佛打开了一扇通往数学奥秘的大门!🌈
掌握这个小技巧后,不妨尝试扩展代码,寻找更多位数的水仙花数吧!💪