返回首页 返回题库

完全平方数计数

C++ 入门 GESP二级真题 #数学基础

题目描述

题面描述

小杨同学正在研究完全平方数。

平方:一个数的平方等于这个数乘以这个数本身。

完全平方数:指可以恰好表示为某个正整数的平方的数。

例如,9是完全平方数,因为9= =3×3;但27不是,因为27不能表示为任何正整数的平方。

给定两个正整数 l 和 r (保证l≤r),小杨同学想知道l到r之间的所有正整数中(包含l和r),有多少个数是完

全平方数。

输入格式

输入两行,第一行为一个正整数 l,第二行为一个正整数 r。

输出格式

输出一个非负整数,表示 l 到 r 中,有多少个正整数是完全平方数。如果 l 到 r 中没有完全平方数,则输出0。

样例1

输入:

1
21

输出:

4

样例解释1

在1到21中,有以下4个整数是完全平方数。1,4,9,16

样例2

输入:

5
8

输出:

0

数据范围

1 ≤ l ≤ r ≤2000.


时间限制

1.0 s

内存限制

512.0 MB

💡 查看提示(先自己想一想再看)
本题核心考察循环结构与条件判断的结合,以及对完全平方数数学定义的理解。解题思路:遍历所有正整数i,判断i的平方是否在[l, r]区间内,统计符合条件的i的数量即可。注意无需遍历l到r的所有数,只需遍历i直到i²超过r即可,大幅降低循环次数避免超时。
⚙ 开始做这道题 0 人做过 · 0 收藏 · 6 浏览

讨论(0)