GESP二级 - 判断一个数是否为平方数 (C++ 代码示例)
GESP二级 - 判断一个数是否为平方数 (C++ 代码示例)
本题要求判断一个输入的整数是否为平方数。如果该数的平方根为整数,则输出“Y”,否则输出“N”。
问题描述
从键盘读入一个整数n(n≤109),判断是否是平方数,如果是输出Y,不是输出N。
**平方数指的是开平方根后是整数的数,比如:16、25、36等。**
输入描述
输出一个整数n。
输出描述
按题意输出Y或者N。
用例输入 1
64
用例输出 1
Y
代码实现 (C++)
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int n;
cin >> n;
int sqrt_n = sqrt(n); // 取整数部分
if(sqrt_n * sqrt_n == n) {
cout << 'Y' << endl;
} else {
cout << 'N' << endl;
}
return 0;
}
代码解释
代码使用了 C++ 的 sqrt() 函数来计算输入整数的平方根,并将其赋值给 sqrt_n 变量。由于 sqrt() 函数返回值为双精度浮点数,因此需要将结果强制转换为整数类型,以进行后续比较。
代码使用 if 语句判断 sqrt_n 的平方是否等于输入整数 n。如果相等,则说明 n 是平方数,输出 'Y';否则说明 n 不是平方数,输出 'N'。
总结
本代码使用 C++ 的标准库函数 sqrt() 和 if 语句来判断输入整数是否为平方数。该代码逻辑清晰,易于理解,适合初学者学习和参考。</
原文地址: https://www.cveoy.top/t/topic/qfGU 著作权归作者所有。请勿转载和采集!