1.求解立方根之二分法
C++保留小数不是很方便,可以直接在牛客编译器上添加 C语言头文件;
据说:
注意:保留0位小数的时候,只要小数点后第一位>=5,就可以进位,但是保留1位或者2位等等,保留小数的后一位要>5才可以进位,否则就舍去。
参考
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
using namespace std;
double getCubeRoot(double input)
{
double ans = 0;
if(input ==0)
return 0;
double left = 0,right = input,pre;
for(double i=right;i>0;)
{
if(i*i*i == input)
{
return i;
}else if(i*i*i>input)
{
right = i;
i = (left + right)/2;
}else{
left = i;
i = (left + right)/2;
}
if(right - left <=0.05)
return i;
}
}
int main()
{
double a;
cin>>a;
printf("%.1f",getCubeRoot(a));
}
C++实现立方根计算
本文介绍了一种使用C++编程语言实现立方根计算的方法,采用二分法逼近精确值。通过不断调整左右边界,直到满足精度要求。适用于需要高精度立方根计算的场景。
313

被折叠的 条评论
为什么被折叠?



