php编程实现打印输出100~1000之间的所有水仙花数。(注:水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。
时间: 2023-11-15 15:06:40 浏览: 25
以下是 PHP 代码实现:
```php
for ($i = 100; $i <= 1000; $i++) {
$num = $i;
$sum = 0;
$len = strlen($num);
while ($num > 0) {
$digit = $num % 10;
$sum += pow($digit, $len);
$num = (int)($num / 10);
}
if ($sum == $i) {
echo $i . " ";
}
}
```
解释:
首先使用 for 循环遍历 100~1000 之间的所有数。对于每个数,使用 while 循环计算它的各个位数的 n 次幂之和。具体地,先将该数赋值给 $num 变量,然后在 while 循环中,每次取 $num 的个位数,并将其 n 次幂加到 $sum 变量中,直到 $num 变成 0。最后,如果 $sum 等于该数本身,就说明该数是水仙花数,打印输出即可。
相关问题
编程实现打印输出100~1000之间的所有水仙花数。(注:水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。php
以下是 PHP 代码实现:
```php
for ($i = 100; $i <= 1000; $i++) {
$sum = 0;
$num = $i;
$digits = strlen((string)$num);
while ($num > 0) {
$digit = $num % 10;
$sum += pow($digit, $digits);
$num = floor($num / 10);
}
if ($sum == $i) {
echo $i . " ";
}
}
```
该代码通过循环遍历100~1000之间的所有数,对于每个数计算其每位数字的n次幂之和,并与该数本身进行比较,如果相等则输出该数,即为水仙花数。
编程实现打印输出100~1000之间的所有水仙花数。(注:水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(php)
以下是 PHP 代码实现:
```php
for ($i = 100; $i <= 1000; $i++) {
$sum = 0;
$num = $i;
$len = strlen((string)$num);
while ($num > 0) {
$digit = $num % 10;
$sum += pow($digit, $len);
$num = intval($num / 10);
}
if ($sum == $i) {
echo $i . "\n";
}
}
```
输出结果为:
```
153
370
371
407
```