当前位置:网站首页>Likou Brush Question Record 1.5-----367. Valid perfect squares
Likou Brush Question Record 1.5-----367. Valid perfect squares
2022-08-09 02:27:00 【@baigui】
一、题目

二、代码
class Solution {
public:
bool isPerfectSquare(int num) {
double left=0;
double right=num;
double middle=0;
double last_consequence=-10;
double now_consequence=-100;
double return_num=0;
bool bool_return_num=0;
int cal_time=0;
int last_left=0;
int last_middle=0;
int last_right=0;
//特殊处理:
//Dichotomous approximation also prevents situations where it is the answer itself
if(num==1) bool_return_num=1;
//一般情况
if(bool_return_num==0)
{
//First bisect the square root
while(abs(last_consequence-now_consequence)>0.000000000001)
{
last_consequence= now_consequence;
middle=(left+right)/2;
cal_time=cal_time+1;
if(middle*middle==num) //相等直接退出
{
return_num=middle;
last_left=0;
last_middle=1;
last_right=0;
break;
}
if(middle*middle>num) //大于 结果必定在左边
{
right=middle;
now_consequence=abs(middle*middle-num);
return_num=middle;
last_left=0;
last_middle=0;
last_right=1;
}
if(middle*middle<num)
{
left=middle;
now_consequence=abs(middle*middle-num);
return_num=middle;
last_left=1;
last_middle=0;
last_right=0;
}
}
std::cout<<"last_left "<< last_left<<std::endl;
std::cout<<"last_middle "<<last_middle <<std::endl;
std::cout<<"last_right "<<last_right <<std::endl;
std::cout<<cal_time<<std::endl;
std::cout<<(int)return_num<<std::endl;
std::cout<<return_num<<std::endl;
std::cout<<return_num*return_num<<std::endl;
std::cout<<abs(return_num-(int)return_num)<<std::endl;
std::cout<<"return_num "<<return_num <<std::endl;
std::cout<<"int(return_num+0.5000001) "<<int(return_num+0.5) <<std::endl;
if(abs(return_num-int(return_num+0.5000001))<=0.001)
{
bool_return_num=1;
}
else
{
bool_return_num=0;
}
}
std::cout<<bool_return_num<<std::endl;
return bool_return_num;
}
};
三、运行结果

边栏推荐
- spark RDD转换算子 sample
- MT4 / MQ4L entry to the master of EA tutorial lesson two (2) - - MQL language commonly used function account information commonly used functions
- 2020.12.4日志
- <爆>2022中文版-《海外博士申请指南-材料准备、时间线、套磁、面试及录取》免费分享
- JS 实现千分位分隔符
- 电磁辐射安全标准及检测方法
- 如何最大限度地减少企业受到供应链攻击的风险
- [LeetCode305周赛] 6136. 算术三元组的数目,6139. 受限条件下可到达节点的数目,6137. 检查数组是否存在有效划分,6138. 最长理想子序列
- Which is the best increased whole life insurance?Is it really safe?
- 项目经理VS产品经理,二者到底有何不同?
猜你喜欢

1261. 在受污染的二叉树中查找元素

通过安装VNC服务器x11vnc(或vnc4server)和配置x11vnc.service实现远程通过VNC-Viewer访问VNC服务器。

MT4 / MQ4L entry to the master of EA tutorial lesson two (2) - - MQL language commonly used function account information commonly used functions

【Jenkins 学习笔记】玩转持续集成与持续交付

HMS Core分析服务智能运营6.5.1版本上线

最新工业界推荐系统数据集-召回排序模型原理、结构及代码实战整理分享

2.1-----27. Remove elements

Likou Brush Question Record 6.1-----203. Remove linked list elements

gpio子系统和pinctrl子系统(上)

<爆>2022中文版-《海外博士申请指南-材料准备、时间线、套磁、面试及录取》免费分享
随机推荐
数字 01 Vivado2018.2安装及实操
The most fierce "employee" in history, madly complaining about the billionaire boss Xiao Zha: So rich, he always wears the same clothes!
Summary of Database Design
LintCode 283. 三数之中的最大值
数仓第一篇:基础架构
边缘计算的三个关键好处
My thoughts on software development
gpio子系统和pinctrl子系统(下)
9.1-----24. Swap the nodes in the linked list in pairs
数字 05 verilog&vivado2018.2零散笔记
Likou Brush Question Record--Common Functions
自动化测试框架总结
16.flink 自定义KeySelector
历史最全DL相关书籍、课程、视频、论文、数据集、会议、框架和工具整理分享
炫酷-轮播图-走马灯
危化企业双预防机制数字化建设工作要求
The security of the pension insurance?Reliable?
软件开发之我的一点想法
如何最大限度地减少企业受到供应链攻击的风险
Mysql 5.7 into the pit