昨天老师布置了一道题,据说是 蓝桥杯的一道题。
题目:已知X的三次方等于10,求X?(X的范围在2~3,答案精确到小数点后五位)
注:eclipse的内存不能超过230m(循环次数不能太大!)
刚开始我自己用数学中的二分法,但是保留五位的精度不够,于是换了一种方法;
但是结果让我大吃一惊,明明应该是显示2.15443,但是却显示2.1544299999999996
代码如下:
class Test3 {
public static void main(String[] args) {
double a=2,c=0.1;
for (double h=1;h<=5;h++){
while((a)*(a)*(a)<10){
System.out.println(c+" "+a+" "+(a)*(a)*(a));
a=a+c;
}
a=a-c;
c=c/10;
}
}
}
题目:已知X的三次方等于10,求X?(X的范围在2~3,答案精确到小数点后五位)
注:eclipse的内存不能超过230m(循环次数不能太大!)
刚开始我自己用数学中的二分法,但是保留五位的精度不够,于是换了一种方法;
但是结果让我大吃一惊,明明应该是显示2.15443,但是却显示2.1544299999999996
代码如下:
class Test3 {
public static void main(String[] args) {
double a=2,c=0.1;
for (double h=1;h<=5;h++){
while((a)*(a)*(a)<10){
System.out.println(c+" "+a+" "+(a)*(a)*(a));
a=a+c;
}
a=a-c;
c=c/10;
}
}
}