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 &lt;&lt; 'Y' &lt;&lt; endl;
} else {
    cout &lt;&lt; 'N' &lt;&lt; endl;
}

return 0;

}

代码解释

代码使用了 C++ 的 sqrt() 函数来计算输入整数的平方根,并将其赋值给 sqrt_n 变量。由于 sqrt() 函数返回值为双精度浮点数,因此需要将结果强制转换为整数类型,以进行后续比较。

代码使用 if 语句判断 sqrt_n 的平方是否等于输入整数 n。如果相等,则说明 n 是平方数,输出 'Y';否则说明 n 不是平方数,输出 'N'。

总结

本代码使用 C++ 的标准库函数 sqrt()if 语句来判断输入整数是否为平方数。该代码逻辑清晰,易于理解,适合初学者学习和参考。</

GESP二级 - 判断一个数是否为平方数 (C++ 代码示例)

原文地址: https://www.cveoy.top/t/topic/qfGU 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录