KHO TÀNG CŨ:
THUẬT
TOÁN KHAI CĂN BẬC HAI
Học sinh tiểu học, bắt đầu học
toán từ lĩnh vực số tự nhiên với các phép cộng trừ nhân chia, rồi đến bình
phương, lũy thừa (bậc nguyên dương), tuần tự nhi tiến, cũng chẳng có gì mấy khó
khăn, phép tính nào cũng có thuật toán – tức là qui tắc đặt phép tính để tính một
cách rõ ràng, cứ thuộc bảng cửu chương, làm tính cẩn thận : Thế là ổn.
Bước sang phép tinh khai
căn, hẵng nói từ khai căn bậc 2 đã thấy phiền phức rồi. Với các số chính phương
thì khỏi cần bàn, quá đơn giản, nhưng còn các số khác thì sao?
Ngày trước – nghĩa là 50, 60
năm trước đây – lên trung học đệ nhất cấp (cấp 2) bắt đầu học sử dụng các bảng
tính có sẵn: bảng bình phương, lập phương, căn số bậc hai… rồi các bảng hàm số
lượng giác, sin, cos, tg, cotg v..v..
Thế hệ các em học sinh ngày
nay thì còn thuận tiện hơn nữa. muốn tính căn số bậc hai của một số: rút máy
tính cassio hay điện thoại thông minh ra bấm nhoay nhoáy: Xong!
Thế nhưng nếu ta không có
máy tính mà cũng chẳng có bảng tính thì sao nhỉ? Thì … chịu! Trong mấy chục năm
dạy học, tôi đã hỏi thử nhiều sinh viên đại học, kể cả sinh viên Toán hẳn hoi
thì chưa thấy em nào biết được một “thuật toán” tính căn số bậc hai giống như
các thuật toán làm phép nhân, phép chia vậy.
Nhớ lại hồi mới lên Trung học
phổ thông (hồi ấy Trung học phổ thông là tên goi tương đương cấp 2 hay TH cơ sở
ngày nay, còn cấp 3 hay Phổ thông trung học NGÀY NAY thì trước kia gọi là Trung
học chuyên khoa), bọn học sinh chúng tôi có mày mò “truyền bí kíp” cho nhau một
thuật toán rất hay, chẳng hiểu vì sao mà những năm sau này không còn thấy ai nhắc
đến? Chắc là kỷ nguyên CNTT rồi, chẳng ai cần gì biết đến cái trò thủ công lạc hậu, tổn hao nơ ron nữa!
Vắt tay lên trán, nhớ lại
chuyện hơn 60 năm trước, tôi xin giới thiệu lên đây, gọi là: ..Mua vui (hay phiền?)
cũng được một vài trống canh.
Thuật toán khai căn bậc hai
của một số tự nhiên
Cho n là một số tự nhiên –
không chính phương. Tính căn số bậc hai của n - CSBH(n) :
Qui
tắc thuật toán:
·
Bước
1:
Tìm a0 là số nguyên lớn
nhất mà bình phương không vượt quá n.
a0
là phần nguyên của giá trị gần đúng của căn số bậc hai của n - CSBH(n) với
sai số ở hàng đơn vị; CSBH(n) xấp xỉ = a0
·
Bước
2:
Tính hiệu số n – (a0)2 = Y1. Thêm
vào sau Y1 hai số 0 tức là ta tạo ra số 100Y1 . Nhân đôi
a0
, rồi tìm một số tự nhiên a1 sao
cho khi ghép a1 vào sau số 2.a0 nghĩa
là tạo thành con số (2.a0x10) + a1 rồi
nhân cho a1 tức là có số [(2.a0x10)
+ a1]. a1 không
vượt quá số 100Y1 .
·
a1
là số thập phân thứ nhất trong giá trị gần đúng của của CSBH(n) với sai số ở hàng số lẻ thứ nhất: CSBH(n) xấp xỉ = a0,a1
·
Bước
3: Tính hiệu số Y2
=
100Y1 – [(2.a0x10)
+ a1]. a1. Thêm
vào sau Y2
hai
số 0 tức là tạo thành số 100 Y2. Ghép hai con số a0,a1 lại thành
con số hàng chục 10a0 + a1, nhân đôi số đó rồi tìm một số
a2 sao cho khi tạo thành con số {10.[2(10a0
+ a1)]+ a2}. a2 thì
số này không vượt quá số 100
Y2
·
a2
là số thập phân thứ hai trong giá trị gần đúng của CSBH(n) với sai số ở hàng số lẻ thứ hai CSBH(n) xấp xỉ = a0,a1a2
·
Bước 4: Lặp
lại bước 3, tính hiệu số Y3 = 100Y2
–
{10.[2(10a0
+ a1)]+ a2}.a2. Thêm
vào sau Y3 hai
số 0 tức là tạo thành số 100 Y3
.
Ghép 3 con số a0a1a2
thành một số hàng trăm (100a0 + 10a1
+ a2), nhân đôi số đó lên v..v..
và cứ tiếp tục như vậy ta đạt đến độ chính xấc ở số thập phân tùy ý....
-
Trình bày cụ thể qua
2 thí dụ sau đây:
Thí dụ 1: Tìm căn số bậc 2 cua 3:
*
Bước 1: Tìm số chính phương lớn nhất bé hơn 3, đó là số a0
= 1
Kết quả gần đúng đầu tiên là CSBH(3) xấp xỉ = 1
*
Bước 2: Bình phương của 1 là 1; 3 – 1 = Y1 = 2, Viết
tiếp sau số 2 HAI con số 0 ta có 200. Lấy kết quả đầu tiên là 1 nhân với 2: 1 x
2 = 2; tìm một số a1 sao cho khi viết tiếp vào tích số 2 mới thu được
thành con số 2(10 + a1) rồi nhân với a1 thì tích số a1.[2(10
+ a1)] vẫn còn bé hơn 200. Số
đó là 7 vì : 27 x 7 = 189 < 200
Kết
quả gần đúng đến 1 số lẻ thập phân là CSBH(3) xấp xỉ = 1,7
*
Bước 3: Y2 = 200 – 189 = 11. Viết tiếp vào sau số dư 11
thêm 2 số 0 thành 1100. Lấy 17 x 2 = 34, tìm 1 số a2 viết vào sau 34
thành 34 x 10 + a2 sao cho khi nhân cho a2 vẫn còn bé hơn
1100: số đó là 3 vì 343 x 3 = 1029
< 1100
Kết quả gần đúng đến 2 số thập
phân là CSBH(3) xấp xỉ = 1,73
*
Bước 4: Y3= và
1100 – 1029 = 71. Viết tiếp sau số dư 71 thêm 2 số 0 thành 7100. Lấy 173 x 2 = 346,
tìm 1 số a3 viết sau 346 thành 3460 + a3 sao cho khi nhân
cho a3 vẫn còn bé hơn 7100: số đó là 2 vì 3462 x 2 = 6924 < 7100
Kết quả gần đúng đến 3 số thập
phân là: CSBH(3) xấp xỉ = 1,732
*
Bước 4: Y4 = 7100 – 6924 = 176. Viết tiếp sau số dư
thêm 2 số 0 thành 17600. Lấy 1732 x 2 = 3464, tìm 1 số a4 sao cho (34640 + a4 ) a4
vẫn còn bé hơn 17600: không tìm được, vậy số lẻ tiếp theo là 0
Ta ngừng lại ở bước này và
có kết quả gần đúng đến 3 số thập phân
là: 1,732
Thử lại: (1.732)2 = 1.732 x 1. 732 = 2, 888824 # 3
Thí dụ 2: Tìm căn số bậc 2 cua 127.
* Bước
1: Tìm số chính phương lớn nhất bé hơn 127 đó
là số 11
Kết quả gần đúng đầu tiên là
11, sai số hàng đơn vị
* Bước 2: Bình phương của 11 là 121; 127 – 121 = 6, Viết tiếp vào sau số dư 6 thêm 2 số 0 thành
600. Lấy 11 x 2 = 22, tìm 1 số a1 viết vào sau 22 thành số 220+a1 sao cho khi nhân cho a1 thì tích số còn bé hơn 600: số đó là 2 vì 222
x 2 = 444 < 600 và 600 – 444 = 156.
Kết quả gần đúng đến 1 số thập
phân là 11, 2
*
Bước 3: Viết tiếp sau số dư 156 thêm 2 số 0 thành 15600. Lấy 112
x 2 = 224, tìm 1 số a2 viết sau 224 thành 2240 +a2 sao cho khi nhân cho a2 thì tích số còn bé hơn
15600: số đó là 6 vì 2246 x 6 =
13476 còn < 15600 và 15600 – 13476 = 2124.
Kết quả gần đúng đến 2 số thập
phân là: 11. 26
* Bước 4: Viết tiếp sau số dư thêm 2 số 0 thành 212400. Lấy 1126 x 2
= 2252, tìm 1 số a3 sao cho (22520 + a3) x a3 vẫn còn bé hơn 212400: số đó là 9 vì 22529 x 9 = 202761 < 212400 và
212400 – 202761 = 9639.
Nếu ngừng lại ở bước này thì
kết quả gần đúng đến 3 số thập phân là:
11. 269
Bước 4
+1: Muốn có độ chính xác cao hơn, viết tiếp sau số dư hai số 0 thành
963900. Lấy 11269 x 2 = 22538, tìm số a4 sao cho (225380 + a4)xa4 thì tích số còn bé hơn 963900: số
đó là 4 vì 225384 x 4 = 901536 vẫn
< 963900 và 963900 – 901536 = 62634
Kết quả gần đúng đến 4 số thập phân là: 11, 2694
Có thể tiếp tục thuật toán để đạt kết quả gần
đúng tùy ý.
Thử
lại: 11 x 11 =
121
11,2 x 11,2 =
125,44
11,26 x 11,26 =
126,7876
11,269 x 11, 269 =
126,990361
11,2694 x 11, 2694 =
126,999376 # 127
Các
cụ có tài không??? Hoàn toàn chính xác nhé. Có điều chứng minh lại thuật toán này
thì là cả một đại vấn đề đấy!
3 1,732
200 27 343 3462 34640
200 27 343 3462 34640
189 x7 x3 x2 x0
1100 189
1029 6924 00000
1029
7100
6924
176
Không có nhận xét nào:
Đăng nhận xét