GESP 2026年6月二级真题编程题|完全平方数计数

四季读书网 2 0
GESP 2026年6月二级真题编程题|完全平方数计数

哈喽各位编程小白!今天分享一道超适合新手入门的循环基础练习题,逻辑简单、上手快,帮大家彻底搞懂「完全平方数」的编程解法,零基础也能轻松看懂✨


一、题目简介

1. 基础概念

平方:一个数 × 它本身,例如 3×3=9

完全平方数:可以写成某个正整数平方的数

✅ 举例:1、4、9、16、25 都是完全平方数

❌ 举例:2、6、10、27 不是完全平方数

2. 题目要求

输入两个正整数 l、r,统计 [l, r] 区间内(包含首尾)一共有多少个完全平方数。

3. 输入输出规则

输入:两行数字,第一行 l,第二行 r

输出:区间内完全平方数的个数(无则输出 0)

4. 样例演示

输入:

1

21

输出:4

解析:1~21 范围内的完全平方数为 1、4、9、16,共 4 个。


二、新手解题思路(超易懂)

不用复杂公式,新手只用枚举法就可以解决!

核心逻辑:完全平方数就是 1²、2²、3²、4²……依次递增的数。

我们只需要:

  1. 从 1 开始,依次计算每个整数的平方

  2. 判断平方数是否在 l~r 区间内

  3. 在区间内就计数 +1

  4. 当平方数超过 r,直接停止循环(无需多余计算)


三、完整可运行代码

# 读取输入的两个边界数l = int(input())r = int(input())# 定义计数器,记录完全平方数个数count = 0# 从最小的正整数1开始遍历i = 1while True:    square = i * i  # 计算当前数的平方    if square > r:  # 平方超出右边界,结束循环        break    if l <= square <= r:  # 平方数在区间内,计数+1        count += 1    i += 1  # 遍历下一个整数# 输出最终结果print(count)

四、逐行代码详解(小白必看)

1. 读取输入数据

l = int(input())、r = int(input()):读取两行输入的数字,转为整数类型

2. 初始化变量

count = 0:计数器初始为 0,一开始没有找到任何平方数

i = 1:从正整数 1 开始计算平方

3. 循环核心逻辑

square = i * i:计算当前数字的平方

if square > r:如果平方数超过区间最大值,后续数字平方只会更大,直接结束循环

if l <= square <= r:判断平方数是否在指定区间,符合条件则计数+1

i += 1:数字自增,继续判断下一个平方数

4. 输出结果

print(count):打印区间内完全平方数的总个数


五、测试案例巩固

案例1:无符合条件的数

输入:

10

15

输出:0(10~15之间无完全平方数)

案例2:区间刚好是平方数

输入:

25

25

输出:1(25=5×5,是完全平方数)


六、新手学习总结

  • 本题核心:枚举+条件判断,是Python循环的经典基础题型

  • 解题技巧:及时终止循环,避免无效计算,提升代码效率

  • 重点记忆:完全平方数 = 正整数自身相乘的结果

后续可以举一反三,修改代码实现「找出所有平方数并打印」「统计立方数个数」等同类题目🔥

抱歉,评论功能暂时关闭!