B4002 [GESP202406 二级] 平方之和
欢迎报名洛谷网校,报名课程可以获得对应组别的知识点讲解与答疑服务,期待和大家一起进步!点击图片即可报名。
:::align{center} :::
本题考察循环嵌套。
首先我们使用一重循环读入正整数
方法 1
使用二重循环,第一重循环枚举
使用这一种做法,需要做出优化:如果
找到解之后,使用布尔类型变量 flag 标记找到解,输出 Yes 并且退出两重循环。
参考代码:
bool flag = false; // 还未发现解
for (________) {
for (________) { // 枚举 x, y,需要做出优化
if (________) { // 判断是否是一组解
flag = true;
cout << "Yes" << endl;
}
}
}
// 无解情况输出 No
方法 2
实际上我们只需要循环枚举
判断的方式是对 sqb 中,随后我们判断 sqb * sqb 是否等于
参考代码:
for (________) { // 循环枚举 x
int b = ________;
int sqb = ________;
if (________) { // 如果是完全平方数
cout << "Yes" << endl;
flag = true;
break;
}
}
// 无解情况输出 No