数的三次方根(二分方法的运用)
题目表述
给定一个浮点数 n,求它的三次方根。
输入格式
共一行,包含一个浮点数 n。
输出格式
共一行,包含一个浮点数,表示问题的解。
注意,结果保留 6 位小数。
数据范围
-1000<=n<=1000
输入样例:
1000.00
输出样例:
10.000000
题目分析:
解法一:利用数学函数方法:
利用c++内置函数直接求出结果
#include<iostream>
#include<cmath>
using namespace std;
int main() {
double a;
scanf("%lf", &a);
printf("%.6lf", cbrt(a));
return 0;
}
解法二:利用二分方法
#include<iostream>
using namespace std;
double n;
int main() {
cin >> n;
double l = -1e4, r = 1e4;
while (r - l > 1e-8) {
double mid = (l + r) / 2;
if (mid * mid * mid >= n) r = mid;
else l = mid;
}
printf("%lf", l);
return 0;
}
解法三:利用一般牛顿迭代法
按照解方程思想,给定一个浮点数n,求它的三次方根。
相当于求方程 f(x) = x^3 - n = 0 的解
#include <iostream>
#include <cmath>
using namespace std;
const double delta = 1e-8;
double f(double x, double n)
{
x = x - (x * x * x - n) / (3 * x * x); //x为初值
if (fabs(n - x * x * x) < delta)
return x;
return f(x, n);
}int main()
{
double n;
scanf("%lf", &n);
printf("%.6lf\n", f(n, n));
return 0;
}
数的三次方根(二分方法的运用)相关推荐
- 算法之二分法(例子:数的范围,数的三次方根)
写在前面 今天学习了二分法,整理了一下笔记,觉得是一种非常实用的方法 首先,学习历程重重困难,文章一定会难以避免的冗长,所以在前面先附上我制作的思维导图,大家可以先点进去看,思维导图是用的知犀思维导图 ...
- 790. 数的三次方根
790. 数的三次方根 题目链接 题意 给定一个浮点数 n,求它的三次方根. 思路 二分答案 坑点 n 可能为负数 算法一:二分答案 时间复杂度 O(log2n)O(log_2n)O(log2n) ...
- AcWing 790.数的三次方根
题解:数的三次方根 题目描述 思路分析 代码实现 题目描述 题目链接: https://www.acwing.com/problem/content/792/ 思路分析 这个题的思路可以参考AcWin ...
- 数的三次方根 【AcWing】
数的三次方根 [AcWing] 用二分查找算法求数的三次方根. C语言语法补充: 格式化 %lf , %f 用来输入输出浮点类型. %.6f用于确保结果小数点后留6位. #include<std ...
- oracle中按指定条数批量处理的方法
oracle中按指定条数批量处理的方法 示例 --每处理10000条提交一次 loop insert into t2 select * from t1 where rownum <= 10000 ...
- Java黑皮书课后题第7章:*7.13(随机数选择器)编写一个方法,返回1到54之间的随机数,但不能是传递到实参中的数。指定如下方法头
7.13(随机数选择器)编写一个方法,返回1到54之间的随机数,但不能是传递到实参中的数.指定如下方法头 题目 题目描述 可变长参数列表 破题 代码 运行实例 题目 题目描述 7.13(随机数选择器) ...
- php如何打出的正方形行列,javascript实现输出指定行数正方形图案的方法
本文实例讲述了javascript实现输出指定行数正方形图案的方法.分享给大家供大家参考.具体如下: javascript实现输出指定行数的正方形图案:点击生成图案,会有2个提示框,1,输入图案的组成 ...
- ES6-函数中new.target 方法
ES6-函数中new.target 方法 // 1. ECMAScript 5 中判断构造函数是否通过 new 关键字调用的写法function Person (fullName) {if (this ...
- C++获取文本文件字节数的一个小方法
C++获取文本文件字节数的一个小方法 本博客转载自:http://blog.csdn.net/sayesan/article/details/45840337. 1 调用ifstream打开一个文件 ...
最新文章
- matplotlib.transforms
- python封装方法有几种_python之--------封装
- 基于web的甘特图,易度甘特图edogantt!
- 使用ros发布UVC相机和串口IMU数据
- 解决问题的反馈机制_谈谈HBase中的Nonce机制
- 它利用计算机和现代通信技术,现代通信技术复习概论
- Entity Framework 4 in Action读书笔记——第四章:使用LINQ to Entities查询:执行手动查询...
- ae插件Particle Projection for Mac(AE粒子投影插件)
- mysql 数据库 更新_mysql数据库更新
- python逢7跳过_python实现逢七拍腿小游戏的思路详解
- minifilter 与用户态的通信
- python读取properties文件_读取properties文件
- 基于java的商店销售管理系统
- 破解md5加密的方法
- 复杂性思维中文第二版 八、自组织临界
- bochs运行xp_bochs xp镜像完整免费版
- 优学院大学计算机基础课程答案,标准答案2020优学院形势与政策(全国版)2019-2020学年第一学期...
- 语言模型及RNN模型
- 遥感场景识别数据集(场景分类)
- 【UML统一建模思想】2万字超详细学习笔记(2)