根号二的近似值(由图来记忆)->

2020-02-04  本文已影响0人  km15

// 根号2的近似值.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
/*
解题:
1、f(x) = x平方,在[1,2]范围内,fx是递增函数,这就给二分创造了条件
(根号二是无理数,只能采用近似值)

2、浮点型left和right为1和2,根据left和right的重点mid除f(x)的值与2的大小来选择子区间进行逼近
*/

learn && wrong:
1、科学计算法的写法1e+xx
2、二分法与for,与函数嵌套多的是

#include <iostream>

const double eps = 1e-5; //精度为10的-5次方(!!!)

double f(double x) {  //计算f(x)
    return x * x;
}

double calsqrt() {
    double left = 1, right = 2, mid; //[left,right] = [1,2]
    while (right - left > eps) {
        mid = (right - left) / 2;
        if (f(mid) > 2) {
            right = mid;
        }
        else if(f(mid) < 2) {
            left = mid;
        }
    }
    return mid;
}
上一篇下一篇

猜你喜欢

热点阅读