当前位置: 面试刷题>> 水仙花数 (经典算法题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中查找和打印指定范围内的水仙花数。这些代码示例可以作为算法和编程基础练习的一部分,帮助大家更好地理解数字操作和循环控制结构。在码小课网站上,有更多相关内容分享给大家学习,包括但不限于算法题解、编程语言教程和编程技巧分享。
推荐面试题