正在载入在线练习界面,本页内容可直接阅读…
AK CSP › CSP-J 2024 第一轮真题 › 第 35 题
CSP-J 2024 第一轮 第 35 题:判断平方数:③处应填
题目
(判断平方数) 问题:给定一个正整数 $n$,希望判断这个数是否为完全平方数,即存在一个正整数 $x$,使得 $x$ 的平方为 $n$。
试补全程序。
#include<iostream>
#include<vector>
using namespace std;
bool isSquare(int num) {
int i = _①_;
int bound = _②_;
for (; i <= bound; ++i) {
if (_③_) {
return _④_;
}
}
return_⑤_;
}
int main() {
int n;
cin >> n;
if (isSquare(n)) {
cout << n << " is a square number" << endl;
} else {
cout << n << " is not a square number" << endl;
}
return 0;
}
本小题
③ 处应填( )
选项
- A. num = 2 * i
- B. num == 2 * i
- C. num = i * i
- D. num == i * i
答案
D
题解
应选 **D. num == i * i**。
完全平方数的定义是:存在正整数 i,使得 i * i 等于 num。因此,③处应判断:
``cpp if (num == i * i) ``
注意两个区别:
==是判断是否相等,=是赋值,因此排除 A、C。2 * i是i的两倍,i * i才是i的平方,因此排除 B。
例如 num = 9,当循环到 i = 3 时,9 == 3 * 3 成立,就能判断 9 是完全平方数。
真题版权归 CCF 所有,本站仅用于非商业教学用途。页面加载后可直接在线作答,作答记录保存在本浏览器或账号中。 京ICP备2026056990号-1
京公网安备11010502062986号