实现 int sqrt(int x) 函数。

计算并返回 x 的平方根,其中 x 是非负整数。

由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。

示例 1:

输入: 4
输出: 2
示例 2:

输入: 8
输出: 2
说明: 8 的平方根是 2.82842..., 
     由于返回类型是整数,小数部分将被舍去。

C++解决方案:

1.直接法:

class Solution {
public:int mySqrt(int x) {return sqrt(x);}
};

2.牛顿法


class Solution {
public:int mySqrt(int x) {if (x == 0) {return 0;}double C = x, x0 = x;while (true) {double xi = 0.5 * (x0 + C / x0);if (fabs(x0 - xi) < 1e-7) {break;}x0 = xi;}return int(x0);}};

3.二分法

class Solution {
public:int mySqrt(int x) {int l = 0, r = x, ans = -1;while (l <= r) {int mid = l + (r - l) / 2;if ((long long)mid * mid <= x) {ans = mid;l = mid + 1;} else {r = mid - 1;}}return ans;}
};

4. exp法

class Solution {
public:int mySqrt(int x) {if (x == 0) {return 0;}int ans = exp(0.5 * log(x));return ((long long)(ans + 1) * (ans + 1) <= x ? ans + 1 : ans);}
};

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/sqrtx
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

69. x 的平方根相关推荐

  1. LeetCode - 69. x 的平方根

    69. x 的平方根 class Solution {private static final Integer MAX_POW = 46340;/*** 牛顿迭代* f(x) = x^2 - n* 切 ...

  2. 二分大法| 求X的开方,结果一个公式解决! (力扣69.X 的平方根)

    本文将讲述:69.X 的平方根(简单) 题目:给你一个非负整数,求其开方,向下取整 思路: 首先,我们把问题数学表示出来,就是:求 f(x) = x^2 - a = 0的解: 而且,题目要求的是 非负 ...

  3. LeetCode #69 x的平方根 二分查找

    LeetCode #69 x的平方根 题目描述 实现 int sqrt(int x) 函数. 计算并返回 x 的平方根,其中 x 是非负整数. 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍 ...

  4. LeetCode 69. x 的平方根:二分查找法实现自定义的函数:x 的平方根

    LeetCode 69. x 的平方根:二分查找法实现自定义的函数:x 的平方根 题目描述 实现 int sqrt(int x) 函数. 计算并返回 x 的平方根,其中 x 是非负整数. 由于返回类型 ...

  5. 求一个任意实数c的算术平方根_LeetCode 题解 | 69. X 的平方根

    本期精选题解由我们的用户"liweiwei1419"倾情撰写,一起来看看吧! 力扣 69. X 的平方根(点击查看题目) 题目描述 实现 int sqrt(int x) 函数. 计 ...

  6. Leetcode 69 x的平方根 (每日一题 20210805)

    实现 int sqrt(int x) 函数.计算并返回 x 的平方根,其中 x 是非负整数.由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去.示例 1:输入: 4 输出: 2 示例 2:输入 ...

  7. leetcode 69. x 的平方根(C语言)

    题目 实现 int sqrt(int x) 函数. 计算并返回 x 的平方根,其中 x 是非负整数. 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去. 示例 1: 输入: 4 输出: 2 ...

  8. LeetCode 69 X的平方根

    原题 解题思路:二分法 class Solution { public:int mySqrt(int x) {long long i=0;long long j=x/2+1;//x的平方根不大于x/2 ...

  9. leetcode 69. x 的平方根 思考分析

    题目 实现 int sqrt(int x) 函数. 计算并返回 x 的平方根,其中 x 是非负整数. 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去. 示例 1: 输入: 4 输出: 2 ...

  10. Leecode 69. x 的平方根

    实现 int sqrt(int x) 函数. 计算并返回 x 的平方根,其中 x 是非负整数. 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去. 示例 1: 输入: 4 输出: 2 示例 ...

最新文章

  1. 每日一博 - Semaphore使用场景分析以及源码分析
  2. Maven(6)--archetype
  3. ERROR: No query specified(Mysql数据库报错)
  4. html 手机浏览器:屏幕适配 - 代码篇
  5. python中re模块的函数_python中的re模块,常用函数介绍
  6. 苹果WWDC 2020回顾:来看看这个安卓味的iOS 14!
  7. 递归函数合式分解python_学习python的day10之递归与内置函数
  8. /usr/bin/ld: 找不到 -lglut
  9. 偏振成像的基本原理和特点
  10. EDI文件类型和传输协议
  11. “二十一天好习惯”第一期-20
  12. 如何修改作为背景图片的svg颜色
  13. 一种使用 PNP 作为开关管点亮LED的奇怪做法
  14. Word VBA自动排版(2)-通过自动查找替换去除叠字
  15. Python 类的继承和组合
  16. STM32实例-蜂鸣器实验
  17. 【MySQL】MySQL乱码全面解析
  18. Android模拟器检测体系梳理
  19. 基于C#winform的学生信息管理与成绩评价系统
  20. 2019 年第 13 周 DApp 影响力排行榜 | TokenInsight

热门文章

  1. ①ESP8266-wifi模块使用方法
  2. 单相和三相电源的区别
  3. js连接mysql数据库
  4. 混合储能系统能量管理simulink仿真模型。 蓄电池和超级电容构成的混合储能系统能量管理控制策略
  5. 对项目工时的估算: PERT(计划评审技术) 三点估算法
  6. java实现模拟多道程序设计
  7. 将人工智能融入科技体育类课程中
  8. win10 系统字体大小修改
  9. Html + JQuery 点击图片弹出视频加蒙版,全局居中并且可关闭
  10. udhcpc 的使用