1 solutions
-
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; }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
Information
- ID
- 16987
- Time
- 1000ms
- Memory
- 32MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By