当前位置: 首页 > news >正文

每日算法打卡:数的三次方根 day 7

文章目录

    • 原题链接
    • 题目描述
        • 输入格式
        • 输出格式
        • 数据范围
        • 输入样例:
        • 输出样例:
    • 题目分析
    • 示例代码

原题链接

790. 数的三次方根

题目难度:简单

题目描述

给定一个浮点数 n,求它的三次方根。

输入格式

共一行,包含一个浮点数 n。

输出格式

共一行,包含一个浮点数,表示问题的解。

注意,结果保留 6 位小数。

数据范围

−10000≤n≤10000

输入样例:
1000.00 
输出样例:
10.000000 

题目分析

这道题就很简单了,就是给我们一个数求他的三次方根,首先三次方根的函数图像如下

屏幕截图 2024-01-07 112935.png

他的图像是具有单调性的,因此可以使用二分法进行逼近

我们确定一个区间范围,最大的范围就是在负一万到正一万之间,之后逐渐缩小

对于这个判断条件,其实可以选择小于等于目标值也可以取大于等于目标值,我们只需要每次取中点,自乘三次,与输入值比较即可,如果大于等于,说明M取大了,要将右端点缩小,如果小于等于,说明M取小了,将左端点向右移动即可

补充,这里对于浮点数的等于比较,受限于精度,我们只要求他的差值小于某一个极小的数,则认为他们两个数相等

示例代码

#include<iostream>
#include<cmath>
#include<cstdio>
using namespace std;
int main()
{double x;cin >> x;double l = -1e4;double r = 1e4;while (fabs(r - l) > 1e-7) // 绝对值小于10的负7次方{double mid = (l + r) / 2;if (mid * mid * mid >= x) r = mid;else l = mid;}printf("%.6f",l); // 控制精度输出return 0;
}
http://www.lryc.cn/news/276140.html

相关文章:

  • 人机交互主板定制_基于MT8735安卓核心板的自助查询机方案
  • 全志F1C100s Linux 系统编译出错:不能连接 github
  • 如何保障 MySQL 和 Redis 的数据一致性?
  • Leetcode 2999. Count the Number of Powerful Integers
  • 【Reading Notes】(2)
  • 【设计模式之美】SOLID 原则之一:怎么才算是单一原则、如何取舍单一原则
  • # [NOIP2015 普及组] 扫雷游戏#洛谷
  • Unity中Shader的_Time精度问题
  • 听GPT 讲Rust源代码--compiler(15)
  • 关键字联合体union的定义和使用
  • 基于GA-PSO遗传粒子群混合优化算法的VRPTW问题求解matlab仿真
  • 【leetcode100-033】【链表】排序链表
  • [Kubernetes]5. k8s集群StatefulSet详解,以及数据持久化(SC PV PVC)
  • 数据库系统-甘晴void学习笔记
  • Azure Machine Learning - 人脸识别任务概述与技术实战
  • 强化学习的数学原理学习笔记 - 蒙特卡洛方法(Monte Carlo)
  • DDIA 第十一章:流处理
  • webpack知识点总结(高级应用篇)
  • 均匀与准均匀 B样条算法
  • 2023年12 月电子学会Python等级考试试卷(一级)答案解析
  • 启发式算法解决TSP、0/1背包和电路板问题
  • 阿里云新用户的定义与权益
  • go语言多线程操作
  • GreatSQL社区2023全年技术文章总结
  • 【论文阅读笔记】Stable View Synthesis 和 Enhanced Stable View Synthesis
  • 网络报文分析程序的设计与实现(2024)
  • 贯穿设计模式-享元模式思考
  • 牛客刷题:BC45 小乐乐改数字(中等)
  • 设计模式学习2
  • Rust:如何判断位置结构的JSON串的成员的数据类型