编程实现打印输出100~1000之间的所有水仙花数。(注:水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。
时间: 2023-09-26 17:11:21 浏览: 45
以下是 Python 代码实现:
```python
for i in range(100, 1000):
n = len(str(i))
s = 0
for digit in str(i):
s += int(digit) ** n
if s == i:
print(i)
```
输出结果为:
```
153
370
371
407
```
相关问题
php编程实现打印输出100~1000之间的所有水仙花数。(注:水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。
以下是使用 PHP 实现打印输出 100~1000 之间的所有水仙花数的代码:
```php
for ($i=100; $i<=1000; $i++) {
$sum = 0;
$num = "$i"; // 将数字转换为字符串
$len = strlen($num); // 获取数字的位数
// 计算每位数字的 n 次幂之和
for ($j=0; $j<$len; $j++) {
$sum += pow($num[$j], $len);
}
// 如果和等于该数字本身,则为水仙花数
if ($sum == $i) {
echo $i . "<br>";
}
}
```
输出结果为:
```
153
370
371
407
```
输出3位数的水仙花数。编写程序,输出100-1000之间的水仙花数。所谓水仙花数是指一个3位数,其各位数字的立方和等于该数本身。 (格式提示:每行输出一个水仙花数)
好的,这是一个编程问题,以下是Python代码实现:
```python
for i in range(100, 1000):
# 将数字转为字符串,再将每个字符转为数字
a, b, c = map(int, str(i))
# 如果满足水仙花数的条件,则输出
if i == a**3 + b**3 + c**3:
print(i)
```
输出结果如下:
```
153
370
371
407
```
阅读全文