枚举一个数的所有立方根是我的薄弱区。先介绍一下怎么开立方:
使用库函数
* 注意事项:
- 次幂要等于小数,开方才可以进行。
- 输出任意个小数位需要用到 DecimalFormat 这个小数类,用法为:
import java.text.DecimalFormat; DecimalFormat df=new DecimalFormat("0.0000");
import java.util.*;
import java.math.*;
import java.text.DecimalFormat;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
double d = sc.nextDouble();
DecimalFormat df=new DecimalFormat("0.0");
System.out.println(df.format(Math.pow(db, 1.0/3.0)));
}
}
二分查找
double func(double x) {
if(x==0 || x==1 || x==-1)
return x;
double l=x>0?0:x;
double r=x>0?x:0;
while (l < r) {
double m = (l+r)/2;
double t=m*m*m;
if(t>x) r=m; //如果要求保留五位小数t-x<0.00001
else if(t<x) l=m;
else return m;
}
}