PHP循环编程问题:1-20完全平方和计算代码排查
修正后的PHP程序:计算1到20的完全平方数之和
咱们先梳理下原代码的问题:每次循环都把$sum重置为当前平方数的两倍,还把输出放在循环内部,导致每轮循环都打印一次结果,完全不符合需求。下面是调整后符合所有要求的版本:
<?php $counter = 1; // 第1次赋值:初始化循环控制变量 $sum = 0; // 第2次赋值:初始化累加和变量 while($counter <= 20) { $squares = $counter * $counter; // 第3次赋值:计算当前数的完全平方数 $sum = $sum + $squares; // 第4次赋值:累加平方数,这里$squares第二次出现 $counter ++; } echo "The sum of the perfect squares is $sum."; ?>
代码细节说明:
- 循环控制变量
$counter从1开始,遍历1到20的所有整数,满足循环控制要求 $squares一共出现两次:一次用来存储当前数的平方值,一次参与累加计算- 四次赋值操作分别是:
$counter = 1、$sum = 0、$squares = $counter * $counter、$sum = $sum + $squares - 输出语句放在循环体外,确保只打印最终的累加结果,运行后会输出预期内容:
The sum of the perfect squares is 2870.
内容的提问来源于stack exchange,提问作者男鹿 辰巳
相关产品推荐
相关产品推荐

