PHP 程序,用于检查数字是完全数、盈数还是亏数


2022 年 3 月 18 日, Learn eTutorial
2011

什么是完全数、盈数和亏数?

完全数是指其真因子之和等于其本身的数字。而其真因子之和小于其本身的数字称为亏数。其真因子之和大于其本身的数字称为盈数

例如,6 是一个完全数12 是一个盈数,而9 是一个亏数

如何在 PHP 中检查数字是完全数、盈数还是亏数?

在 PHP 中,要检查一个数字是完全数、盈数还是亏数,首先,我们需要将值读入变量,并通过执行操作 'number % i' 找到输入数字的真因子,并将该值赋给一个变量,然后我们将这些真因子相加并将该值赋给一个变量。在这些操作之后,我们需要比较结果,如果它等于输入的数字,则它是一个完全数;如果它大于,则它是一个盈数;否则,它是一个亏数

算法

步骤 1:从用户那里接受数字到变量 number 中,以检查该数字是完全数盈数还是亏数

步骤 2:将值 0 赋给变量 remainderaddition

步骤 3:将变量 number 的值赋给变量 flag

步骤 4:执行 for 循环 并将值 1 赋给变量 i,并执行子步骤,直到条件 'i < number' 变为假,并在每次迭代中增加变量 i 的值

        (i) 执行操作 'number % i' 并将计算结果赋给变量 reminder

        (ii) 使用 if 语句检查条件 'reminder == 0',如果为真,则执行操作 'addition += i'

步骤 5:使用 if 语句检查条件 'additi flag',如果为真,则使用 echo 打印 '-输入的数字是完全数' 并退出程序,否则转到步骤 6

步骤 6:使用 else if 语句检查条件 'addition > flag',如果为真,则使用 echo 打印 '-输入的数字是盈数' 并退出程序,否则转到步骤 7

步骤 7:使用 echo 打印 '-输入的数字是亏数'

PHP 源代码

                                          <?php
$number = readline("Enter the number: ");
$remainder = 0; $additi
$flag = $number;
for ($i = 1; $i < $number; $i++) {
    $remainder = $number % $i;
    if ($remainder == 0) {
        $addition += $i;
    }
} if ($additi $flag) {
    echo "-The inputted number is Perfect";
} else if ($addition > $flag) {
    echo "- The inputted number is Abundant";
} else {
    echo "-The inputted number is Deficient";
}
?>
                                      

输出

Example 1
Enter the number: 28
-The inputted number is Perfect

Example 2
Enter the number: 36
- The inputted number is Abundant

Example 3
Enter the number: 26
-The inputted number is Deficient