在编程的世界里,我们经常会遇到一些有趣的挑战,比如寻找水仙花数(Narcissistic number)。水仙花数是指一个n位数(n≥3),其各个位上的数字的n次幂之和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
首先,我们需要了解如何获取一个数字的每一位。这可以通过不断地除以10来实现,每次取余数即可得到当前位的数字。接着,我们需要计算每个位上的数字的立方和,然后与原数比较。如果相等,则说明这个数是水仙花数。
下面是一个简单的C语言代码示例:
```c
include
int main() {
int num, originalNum, remainder, n = 0, result = 0;
printf("请输入一个三位数:");
scanf("%d", &num);
originalNum = num;
// 计算数字的位数
for (originalNum = num; originalNum != 0; ++n) {
originalNum /= 10;
}
originalNum = num;
while (originalNum != 0) {
remainder = originalNum % 10;
result += pow(remainder, n);
originalNum /= 10;
}
if (result == num)
printf("%d 是一个水仙花数。\n", num);
else
printf("%d 不是一个水仙花数。\n", num);
return 0;
}
```
通过这段代码,我们可以轻松地找出给定范围内的所有水仙花数。尝试运行它,看看你能否找到更多的水仙花数吧!✨
标签:
免责声明:本文由用户上传,如有侵权请联系删除!