如有不对的地方欢迎指正(๑•̀ㅂ•́)و✧
-题目
2已给定部分代码(注意这代表已给定部分数据,不可删除,可以理解为让我们完成一个函数)
3笔记
1 执行时出错(最后输入2000105819)则说明要使用 ( long long int )型 2.输出true,false为小写
4 代码实现第一种思路——二分法
bool isPerfectSquare(int num){ if(num==1) return true; long long int low=0,high=num/2,mid; while(low<=high) { mid=(high+low)/2; if(num>mid*mid) low=mid+1; else if(num<mid*mid) high=mid-1; else break; } if(low>high) return false; else return true; }第二种思路——利用完全平方数的性质
4 = 1 + 3; 9 = 1 + 3 + 5;
bool isPerfectSquare(int num){ if (num == 0 ) return false; a int a = 1; while ( num > 0){ num -= a; a += 2; } return num == 0 ? true : false; }如有侵权,请联系