我将解析 及题目都放在了代码中 方便大家阅读

//69. x 的平方根
//给你一个非负整数 x ,计算并返回 x 的 算术平方根 。
//
//由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。
//
//注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x * *0.5 。
//
//
//
//示例 1:
//
//输入:x = 4
//输出:2
//示例 2:
//
//输入:x = 8
//输出:2
//解释:8 的算术平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。//常规思路就是数学中的开放 开完之后就是两个相同的数的乘积 等于X#include<stdio.h>int Sqrt(int x)
{long i = 0;//int最大上限不能够容纳 避免栈溢出while (i * i <= x){i++;}return i - 1;//当i最后一次进去时肯定是大于X的所以应该减一才是要返回的
}int main()
{int n = 0;printf("请输入一个非负数>");scanf("%d", &n);int a = Sqrt(n);printf("%d \n", a);return 0;
}

由于该题目中 条件是有序数组 查找一个数这个数接近X平方根的正整数 所以“二分查找法”也适用于该题目

//二分查找法int Sqrt(int x)
{int l = 0, r = x,ans = 0;while (l <= r){int mid = l + (r - l) / 2;if ((long)mid * mid > x)//防止栈溢出{r = mid - 1;}else{//因为该语块是<= 这里面才有我们想要的值  如果mid正是我们想要的 再经过下一次二分查找时就找不见了ans = mid;l = mid + 1;}}return ans;
}int main()
{int n = 0;printf("请输入一个非负数>");scanf("%d", &n);int a = Sqrt(n);printf("%d \n", a);return 0;
}

二分查找还可以在范围上优化 将右端范围缩小 r = X / 2 + 1;

因为“/”向下取整 所以加一避免漏掉目标值

如‘1’的开方就是‘1’ 如果不加1 l = r = 0;就出错了

还有许多方法可以求解,知识有限,很抱歉

加油铁汁~

C语言——leetcode69——X的平方根相关推荐

  1. 迭代公式求平方根c语言程序设计,迭代法求平方根C语言实验报告

    与<迭代法求平方根C语言实验报告>相关的范文 西安交通大学实验报告 课程_ c++ __ 实验名称_迭代公式求平方根_ 第1页 共2页 系 别__ 土木工程 ____ 实 验 日 期 20 ...

  2. 4、leetcode69 x的平方根**

    leetcode 69 x的平方根 给你一个非负整数 x ,计算并返回 x 的 平方根 . 由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 . 注意:不允许使用任何内置指数函数和算符, ...

  3. leetcode69. x 的平方根(二分法)

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

  4. LeetCode69. x 的平方根(二分查找)

    题目描述 实现 int sqrt(int x) 函数. 计算并返回 x 的平方根,其中 x 是非负整数. 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去. 思路 详见链接 代码 class ...

  5. c语言中用递归求平方根,下列给定程序中,函数fun()的功能是:应用递归算法求某数a的平方根。求平方根的迭代公式如下: 例如 - 赏学吧...

    下列给定程序中,函数fun()的功能是:应用递归算法求某数a的平方根.求平方根的迭代公式如下: 例如,2的平方根为1.414214. 请改正程序中的错误,使它能得出正确的结果. 注意:不要改动main ...

  6. C语言n层嵌套平方根的计算n

    题目内容: 编写程序利用递归法实现如下所示n层嵌套平方根的计算: 递归函数原型:double Y(double x, int n): 程序运行结果示例1: Please input x and n:1 ...

  7. C语言:习题2-5 求平方根序列前N项和.2021-08-02

    习题2-5 求平方根序列前N项和 (15 point(s)) 本题要求编写程序,计算平方根序列1​+2​+3​+⋯的前N项之和.可包含头文件math.h,并调用sqrt函数求平方根. 输入格式: 输入 ...

  8. c语言浮点数高精度求平方根,快速高精度的二进制浮点数开平方算法

    1引盲开平方运算在用徽机.单片机等构成的实时控制系统和测量仪器中有着广泛的应用.开平方运算的实现方法有多种:如牛顿迭代法.查表法.直线逼近法(线性化方法)和减奇数法等.对于查表法,当被开方数变化范围较 ...

  9. Leetcode69 x的平方根(简单篇)

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

最新文章

  1. 正则表达式grep、egrep--already
  2. 动态规划备忘录方法Java_动态规划和备忘录法的区别
  3. 洛谷P2679 子串
  4. 得到的概率值_论文推荐|屋面钢梁在超强意外雪荷载作用下的失效概率
  5. java状态模式例子答案_[转载]java设计模式_状态模式(带例子)
  6. 吴恩达的 CS229,有人把它浓缩成 6 张中文速查表!
  7. linux libbz2.so.1,libbz2.so.1.0: cannot open shared object file: No such file or directory
  8. pep8 python 编码规范_编码规范的重要性
  9. row_number()over函数的使用(转)
  10. G++和C++区别和评测注意事项
  11. C++第五章课后习题16-字符串按逆序输出
  12. 订单发货的存储过程mysql_一个订单相关的存储过程(MySQL)
  13. protues仿真闪退问题,亲测有效
  14. 浅谈公安350兆集群通信网建设
  15. 微信 服务器参数错误 请重新填写,微信上登录验证出现参数错误怎么解决
  16. 笔记本上怎么怎么暂停cmd打印窗口
  17. Mstar 648 平台遥控器/按键包POWER键配置
  18. MATLAB中图像索引和抖动转换
  19. Vue # Avoid mutating a prop directly since the value will be overwritten wheneve
  20. 家电售后APP软件开发作用特点

热门文章

  1. [Objective-C]第二天
  2. 全球10位著名CEO成功之道-------皮埃尔·奥米迪亚
  3. 树莓派空气质量检测之——GP2Y1010AU0F粉尘传感器模块的使用记录
  4. NRF52832学习笔记(19)——TWI(I2C)接口使用
  5. java项目编码转换不产生乱码,Java源码乱码问题 编码转换器
  6. win10家庭版怎么开启Administrator超级管理员帐户
  7. 基于大数据的高校英语现状分析
  8. 一起设计一个Android倒计时组件
  9. 怎么注册美国域名,要注意什么呢?
  10. 《2016胡润IT富豪榜》前50名完整表单