哈喽各位编程小白!今天分享一道超适合新手入门的循环基础练习题,逻辑简单、上手快,帮大家彻底搞懂「完全平方数」的编程解法,零基础也能轻松看懂✨
一、题目简介
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 开始,依次计算每个整数的平方
判断平方数是否在 l~r 区间内
在区间内就计数 +1
当平方数超过 r,直接停止循环(无需多余计算)
三、完整可运行代码
# 读取输入的两个边界数l = int(input())r = int(input())# 定义计数器,记录完全平方数个数count = 0# 从最小的正整数1开始遍历i = 1while True:square = i * i # 计算当前数的平方if square > r: # 平方超出右边界,结束循环breakif l <= square <= r: # 平方数在区间内,计数+1count += 1i += 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循环的经典基础题型
解题技巧:及时终止循环,避免无效计算,提升代码效率
重点记忆:完全平方数 = 正整数自身相乘的结果
后续可以举一反三,修改代码实现「找出所有平方数并打印」「统计立方数个数」等同类题目🔥