打印1000以内水仙花数各个位上的立方和等于它本身比如1*1*1+5*5*5+3*3*3=153
时间: 2024-03-30 15:32:07 浏览: 60
水仙花数是指一个三位数,其各个位上的立方和等于它本身。要打印1000以内的水仙花数,可以使用循环来遍历所有三位数,并判断其是否满足条件。
以下是打印1000以内水仙花数的代码示例:
```python
for num in range(100, 1000):
# 获取个位、十位和百位上的数字
digit1 = num % 10
digit2 = (num // 10) % 10
digit3 = num // 100
# 判断是否为水仙花数
if digit1 ** 3 + digit2 ** 3 + digit3 ** 3 == num:
print(num)
```
运行以上代码,将会输出1000以内的水仙花数:153、370、371、407。
相关问题
Php打印1000以内的水仙花数,各个位上的立方和等于它本身,比如1*1*1+5*5*5+3*3*3=153
PHP可以使用循环和条件语句来打印1000以内的水仙花数。以下是一个示例代码:
```php
<?php
for ($num = 100; $num < 1000; $num++) {
$sum = 0;
$temp = $num;
while ($temp != 0) {
$remainder = $temp % 10;
$sum += $remainder * $remainder * $remainder;
$temp = intval($temp / 10);
}
if ($sum == $num) {
echo $num . " ";
}
}
?>
```
这段代码使用了一个`for`循环来遍历100到999之间的数字。在每次循环中,我们使用一个`while`循环来计算当前数字的各个位上的立方和。如果计算得到的和等于当前数字本身,则将其打印出来。
"水仙花数"。所谓"水仙花数"是指一个3位数,其各位数字立方和等于该数本身。例如,153就是一水仙花数,因为153 = 1^3+5^3+3^3。请计算出1000以内所有的水仙花数,并逐行打印在屏幕上。 输出格式如下: 153 = 1*1*1 + 5*5*5 + 3*3*3
好的,以下是您需要的Java代码:
```
public class NarcissisticNumber {
public static void main(String[] args) {
for (int i = 100; i <= 999; i++) {
int a = i / 100; // 百位数
int b = i / 10 % 10; // 十位数
int c = i % 10; // 个位数
if (a * a * a + b * b * b + c * c * c == i) {
System.out.printf("%d = %d*%d*%d + %d*%d*%d + %d*%d*%d\n", i, a, a, a, b, b, b, c, c, c);
}
}
}
}
```
运行程序后,会输出1000以内所有的水仙花数,并按照指定格式逐行打印在屏幕上。例如,输出结果包括:
```
153 = 1*1*1 + 5*5*5 + 3*3*3
370 = 3*3*3 + 7*7*7 + 0*0*0
371 = 3*3*3 + 7*7*7 + 1*1*1
407 = 4*4*4 + 0*0*0 + 7*7*7
```
希望能够帮助您!
阅读全文
相关推荐















