当前位置:网站首页>【码蹄集新手村600题】判断一个数字是否为完全平方数
【码蹄集新手村600题】判断一个数字是否为完全平方数
2022-08-01 13:05:00 【Sandm *】
题目链接:

解题思路:
一个数开方之后,只有整数部分而没有小数部分,则该数字为完全平方数
根据完全平方数的概念,
其中通过 pow() 函数去进行这个数的开方,
但是因为 pow() 函数的返回类型是 double,
即使这个数开方之后,
即使不是完全平方数,但也会得到一个经过开方得到的值,
所以我们怎么能具体判断它是不是完全平方数呢?
因为完全平方数没有小数部分,
所以它经过开方,然后再平方,
其值仍然为之前的初始值,
而如果这个数不是完全平方数,
经过开方之后,
我们可以通过对 pow() 函数的返回值进行 int 类型的强转,
从而得到其整数部分,
此时整数部分经过平方后就不与它未开方时的数相等,
由此可以作为我们的判断依据
参考代码:
#include<bits/stdc++.h>
using namespace std;
int main( )
{
int data = 0;
cin >> data;
int change = pow(data,1/2.0);
if( change * change == data)
{
cout << "YES";
}
else
{
cout << "NO";
}
return 0;
}边栏推荐
猜你喜欢
随机推荐
并发编程10大坑,你踩过几个?
批量任务导入到数据库中
PAT1166 Summit(25)
什么是一致性哈希?可以应用在哪些场景?
kubernetes之DaemonSet以及滚动更新
【StoneDB Class】入门第二课:StoneDB 整体架构解析
数据挖掘-04
消息中间件解析 | 如何正确理解软件应用系统中关于系统通信的那些事?
PAT 1162 Postfix Expression(25)
PanGu-Coder:函数级的代码生成模型
多线程案例——阻塞式队列
拥抱NFV,Istio 1.1 将支持多网络平面
全链路灰度在数据库上我们是怎么做的?
让程序员早点下班的效率工具
快速幂---学习笔记
论文笔记All about Eve: Execute-Verify Replication for Multi-Core Servers
Feign 从注册到调用原理分析
bpmn-process-designer基础上进行自定义样式(工具、元素、菜单)
.NET性能优化-使用SourceGenerator-Logger记录日志
Programmer's self-cultivation









