在这个程序中,我们正在检查这个数字是否是 Disarium 数。为了检查,我们必须根据数字中每个数字的位置找到它们的幂并将它们相加,如果结果等于原始数字,则该数字被认为是 Disarium 数。例如,如果输入的数字是 135,那么我们计算 11 + 32 + 53,结果是 135,我们可以看到结果与原始数字相同,所以我们可以说 135 是一个 Disarium 数。
在这个程序中,我们从用户那里接受一个值并将其分配给变量 num。然后,我们将值 0 分配给变量 sum 和 rem,还将数字的长度分配给变量 size,并将变量 num 的值分配给变量 n。之后,我们必须执行 while loop,直到条件 'n > 0' 变为假。在循环块中,首先将 'n % 10' 的计算值分配给变量 rem,将 'sum + pow(rem, size)' 的计算值分配给变量 sum,将 'n /10' 的计算值分配给变量 n,并递减变量 size 的值。循环完成后,我们必须检查条件 'sum == num',如果为真,则打印变量的值为 disarium 数,否则为非 disarium 数。
步骤 1: 从用户那里接受数字并将其存入变量 num
步骤 2: 将值 0 存入变量 sum 和 rem
步骤 3: 将数字的长度存入变量 size
步骤 4: 将变量 num 的值存入变量 n
步骤 5: 执行子步骤,直到条件 'n > 0' 变为假
(i) 将 'n % 10' 的计算值存入变量 rem
(ii) 将 'sum + pow(rem, size)' 的计算值存入变量 sum
(iii) 将 'n /10' 的计算整数值存入变量 n
(iv) 递减变量 size 的值
步骤 6: 检查条件 'sum == num',如果为真,则打印变量的值为 disarium 数,否则为非 disarium 数
<?php
$num = readline("Enter the number");
$rem = 0;
$sum = 0;
$size = strlen($num);
$n = $num;
while ($n > 0) {
$rem = $n % 10;
$sum = $sum + pow($rem, $size);
$n = (int)($n / 10);
$size--;
}
if ($sum == $num)
echo "$num is a disarium number";
else
echo "$num is not a disarium number";
?>
Example 1 Enter the number518 518 is a disarium number Example 2 Enter the number143 143 is not a disarium number Example 3 Enter the number89 89 is a disarium number