当前位置: 面试刷题>> 水仙花数 (经典算法题500道)
### 题目描述补充
**题目:水仙花数(Narcissistic Number)识别**
水仙花数也被称为阿姆斯特朗数(Armstrong number),它是一个n位数,它的每个位上的数字的n次幂之和等于它本身。例如:
- 1^3 + 5^3 + 3^3 = 153,所以153是一个水仙花数。
- 3^7 + 7^7 + 4^7 = 374,所以374也是一个水仙花数(虽然这个例子并不真实,因为374不是水仙花数,这里仅作示例格式说明)。
你的任务是编写一个程序,能够识别并打印出给定范围内(比如100到999之间,因为三位数的水仙花数最常见)的所有水仙花数。
### PHP 代码示例
```php
0) {
$digit = $temp % 10;
$sum += pow($digit, $length);
$temp = (int)($temp / 10);
}
return $sum == $num;
}
// 查找100到999之间的所有水仙花数
for ($i = 100; $i < 1000; $i++) {
if (isNarcissistic($i)) {
echo $i . " ";
}
}
?>
```
### Python 代码示例
```python
def is_narcissistic(num):
return num == sum(int(digit) ** len(str(num)) for digit in str(num))
# 查找100到999之间的所有水仙花数
for num in range(100, 1000):
if is_narcissistic(num):
print(num, end=' ')
```
### JavaScript 代码示例
```javascript
function isNarcissistic(num) {
let sum = 0;
let numStr = num.toString();
let length = numStr.length;
for (let i = 0; i < length; i++) {
let digit = parseInt(numStr[i]);
sum += Math.pow(digit, length);
}
return sum === num;
}
// 查找100到999之间的所有水仙花数
for (let i = 100; i < 1000; i++) {
if (isNarcissistic(i)) {
console.log(i);
}
}
```
**码小课**:以上代码示例展示了如何在PHP、Python和JavaScript中查找和打印指定范围内的水仙花数。这些代码示例可以作为算法和编程基础练习的一部分,帮助大家更好地理解数字操作和循环控制结构。在码小课网站上,有更多相关内容分享给大家学习,包括但不限于算法题解、编程语言教程和编程技巧分享。