Cách tính căn bậc hai của một số

Một bài viết thú vị: http://ktmt.github.io/blog/2013/06/16/cach-tinh-can-bac-hai/

Bài viết trên mà một bài viết vui trong giảng dạy. Nhưng phương pháp trong bài viết đề cập là của người Babilon đã được biết tới từ rất lâu.

#include <iostream>
#include <stdio.h>
#include <math.h>

using namespace std;

const double epsilon = 1E-15;
int main() {
    double dau = 1;
    double cuoi = 2/dau;
    int dem=0;

    while (fabs(dau-cuoi) > epsilon) {
        dau = (dau+cuoi)/2;
        cuoi = 2/dau;
        dem++;
        cout << dem << endl;
    }

    printf("Gia tri cua can 2 la: %0.15lf\n", dau);
    cout << "So buoc lap la: " << dem;

}

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: