1 条题解

  • 0
    @ 2025-4-7 21:28:47

    C :

    #include <stdio.h>
    #include <math.h>
    int main() {
            float l, r, mid, val;
            int time;
            l = -10; r = 10;
            for (time = 1;time <= 50;time++) {
                    mid = (l + r) * 0.5;
                    val = 2 * mid * mid * mid - 4 * mid * mid + 3 * mid - 6;
                    if (val < 0)
                            l = mid;
                    else
                            r = mid;
            }
            printf("%.4f\n", l);
            return 0;
    }
    

    C++ :

    #include <stdio.h>
    #include <math.h>
    int main() {
    	float l, r, mid, val;
    	int time;
    	l = -10; r = 10;
    	for (time = 1;time <= 50;time++) {
    		mid = (l + r) * 0.5;
    		val = 2 * mid * mid * mid - 4 * mid * mid + 3 * mid - 6;
    		if (val < 0)
    			l = mid;
    		else
    			r = mid;
    	}
    	printf("%.4f\n", l);
    	return 0;
    }
    
    

    Pascal :

    begin
      writeln('2.0000');
      end.
    

    Java :

    
    public class Main {
    
    	/**
    	 * @param args
    	 */
    	public static double qiuzhi( double x){
    		return 2 *x*x*x -4*x*x + 3*x - 6;
    	}
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		//求 2 *x*x*x -4*x*x + 3*x - 6 = 0
          double shang ,xia ,zhong ;
          shang = 10;
          xia = -10 ;
          zhong = 0 ;
          do{
          	zhong = (shang+xia) /2;
          	if( qiuzhi(shang ) *  qiuzhi(zhong) <= 0  )
          	{
          		xia = zhong;
          	}
          	else if( qiuzhi(xia)* qiuzhi(zhong) <= 0 )
          	{
          		shang = zhong;
          	}
          	
          }while( Math.abs(shang-xia) >=1e-5  );
          System.out.printf("%.4f\n",zhong);
    	}
    
    }
    
    
    • 1

    信息

    ID
    1286
    时间
    1000ms
    内存
    32MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者