华为OJ(求解立方根)
来源:互联网 发布:传奇盛世转生修为数据 编辑:程序博客网 时间:2024/06/05 02:52
描述:
- 计算一个数字的立方根,不使用库函数。
- 函数原型
double getCubeRoot(double input)
输入:
待求解参数 double类型
输出:
输出参数的立方根,保留一位小数
样例输入:
样例输出:
常见的用牛顿迭代法,即可解决。设
过点
(x0,f(x0)) 做曲线y=f(x) 的切线L,L的方程为y=f(x0)+f′(x0)(x−x0) ,求出L与x轴交点的横坐标x1=x0−f(x0)f′(x0) ,称x1 为r 的一次近似值。过点
(x1,f(x1)) 做曲线y=f(x) 的切线,并求该切线与x轴交点的横坐标x2=x1−f(x1)f′(x1) ,称x2 为r 的二次近似值。重复以上过程,得
r 的近似值序列。其中,xn+1=xn−f(xn)f′(xn) 称为r 的n+1 次近似值,上式称为牛顿迭代公式。
首先确定我们的函数
其中
#include<iostream>#include<iomanip>using namespace std;double getCubeRoot(double);const double err=0.01;int main(){double m;cin>>m;double result = getCubeRoot(m); cout << fixed << showpoint << setprecision(1) << result << endl;//system("pause");return 0;}double getCubeRoot(double m){double x0,xn=1;double y=xn*xn*xn;while(y-m>err||y-m<-err){x0=xn;xn=x0-(x0*x0*x0-m)/(3*x0*x0);y=xn*xn*xn;}return xn;}
0 0
- 华为OJ(求解立方根)
- 【华为oj】求解立方根
- 华为oj求解立方根
- 【华为 OJ 】求解立方根
- 【华为OJ】求解立方根
- 【华为oj】求解立方根
- 华为OJ题目(十五):求解立方根
- 【华为OJ】【066-求解立方根】
- 华为OJ 初级:求解立方根
- 华为oj之求解立方根
- 华为oj初级 求解立方根
- 华为oj 字符逆序&&求解立方根&&最小公倍数
- 华为OJ平台——求解立方根
- 华为OJ——求解立方根
- 华为OJ1964-求解立方根(牛顿迭代法)
- OJ--------最小公倍数+求解立方根
- 【华为机试】求解立方根
- 求解立方根
- HTTP 报头字段 以及 返回值
- 【.Net码农】RDLC报表显示外部图片方法
- 关于AndroidStudio导入项目报错的问题
- 03-树1. 二分法求多项式单根(20)
- Mysql5.7.8安装文档(二进制安装)
- 华为OJ(求解立方根)
- JAVA创建对象的4种方式
- RAM和ROM的区别
- ORM进阶之Hibernate中对象的三大状态解析
- HDU 2035 人见人爱A^B
- AngularJS中的Promise,协助理解resolve
- UI (User Interface)
- JAVA 用递归实现求五的阶乘
- matla图像处理基本操作