php中的水仙花数怎么写
-
在php中,你可以使用以下代码来判断一个数是否为水仙花数:
“`php
function isNarcissistic($num){
$sum = 0;
$temp = $num;
$len = strlen($num);while($temp > 0){
$digit = $temp % 10;
$sum += pow($digit, $len);
$temp = (int)($temp / 10);
}if($sum == $num){
return true;
}else{
return false;
}
}$num = 153;
if(isNarcissistic($num)){
echo $num.”是水仙花数”;
}else{
echo $num.”不是水仙花数”;
}
“`以上代码中,`isNarcissistic()`函数判断一个数是否为水仙花数。函数首先获取该数的位数,然后遍历每一位数的数字,求出各位数的立方和。最后将求和结果与原来的数比较,若相等则为水仙花数,否则不是水仙花数。
在示例中,给定的数为153。该数是一个水仙花数,因为1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。所以输出结果为:153是水仙花数。
2年前 -
在PHP中,可以使用以下代码来判断和打印水仙花数:
“`php
0) {
$digit = $temp % 10;
$sum += pow($digit, $len);
$temp = floor($temp / 10);
}if ($sum == $num) {
return true;
} else {
return false;
}
}// 打印水仙花数
function printArmstrongNumbers($start, $end)
{
for ($i = $start; $i <= $end; $i++) { if (isArmstrongNumber($i)) { echo $i . "
“;
}
}
}// 测试输出水仙花数
$start = 100; // 起始数
$end = 1000; // 结束数echo “水仙花数:”;
printArmstrongNumbers($start, $end);
?>
“`这段代码首先定义了一个函数isArmstrongNumber()来判断一个数是否为水仙花数。在函数内部,使用while循环逐位取出该数的数字,并计算每个数字的len次方的和。如果和等于原始数,则返回true,否则返回false。
然后,定义了一个printArmstrongNumbers()函数来打印指定范围内的所有水仙花数。在函数内部使用for循环遍历起始数到结束数之间的所有数,然后调用isArmstrongNumber()函数进行判断,如果是水仙花数则打印出来。
最后,通过给定的起始数和结束数调用printArmstrongNumbers()函数,输出指定范围内的所有水仙花数。
执行以上代码,将输出结果为:
“`
水仙花数:
153
370
371
407
“`以上代码可以通过修改$start和$end的值来获取不同范围内的水仙花数。
2年前 -
PHP中的水仙花数指的是一个三位数,它的每个位上的数字的立方之和等于它本身。下面是一个实现水仙花数判断的PHP代码:
“`php
“`上述代码中,首先定义了一个函数`isNarcissistic()`,该函数用于判断一个数是否为水仙花数。函数接收一个参数`$num`,表示待判断的数。在函数内部,首先定义了变量`$sum`和`$temp`。`$sum`用于存储数字的立方和,`$temp`用于临时存储待判断的数。然后,使用`while`循环将`$temp`依次取余10,得到个位数。将个位数的立方加到`$sum`中,然后将`$temp`除以10取整,即去掉个位数。循环进行,直到`$temp`为0。最后,判断`$sum`是否等于`$num`,如果相等,则返回`true`,表示该数是水仙花数,否则返回`false`。
接下来,使用`for`循环遍历100到999之间的每一个数,调用`isNarcissistic()`函数进行判断,如果返回值为`true`,则输出该数是水仙花数。
运行以上代码,将会输出所有的水仙花数。
2年前