Việc hiển thị 24 (hoặc nhiều hơn) chữ số trên máy tính Casio fx-880BTG
- 07/10/2022
- 439 lượt xem
BÀI VIẾT NÀY CHỈ DÀNH CHO HSG MTCT VÀ GV PHỤ TRÁCH ĐỘI TUYỂN |
Máy tính Casio fx-880BTG đã hiển thị được 23 chữ số. Việc này tạo điều kiện thuận lợi để xử lý các số cực lớn. Tuy nhiên việc hiển thị nhiều chữ số hơn (nếu muốn) ta vẫn phải xây dựng thuật toán. Ví dụ trong kỳ thi HSG MTCT năm 2015 Bộ GD và ĐT yêu cầu học sinh viết chữ số thập phân thứ 22 sau dấu phẩy của số $\sqrt[3]{2015}$. Trên máy tính cASIO FX-880BTG kết quả như sau:
nghĩa là $$\Large{\sqrt[3]{2015}\approx 12,630630106603373479881}$$
Máy tính đã hiển thị chữ số thứ 21 sau dấu phẩy, tuy nhiên chữ số thứ 22 máy vẫn không hiển thị được (do quy ước của lập viên khi lập trình viết code).
Chúng tôi giới thiệu cách thức sau đây để hiển thị được chữ số thứ 22 theo ycbt.
Đặt $x$ sao cho $\sqrt[3]{2015}=12,6306301+x$.
Để lập phương số $12,6306301$ không tràn bộ nhớ ta đặt $C=12,6306301=A+B$ trong đó $A$ và $B$ xác định bởi
Riêng $D=12,6306301^3-2015=$ (Đây là giá trị hiển thị, giá tri chính xác $-0.31603644315011099$ đã lưu trong biến nhớ.)
Khi đó $x$ là nghiệm của phương trình
$$\Large{x^3+3Cx^2+3C^2x+D=0}$$
Gọi Solver giải phương trình
nghiệm duy nhất
Vậy $$\Large{\sqrt[3]{2015}\approx 12,6306301066033734798814}$$
Muốn hiển thị nhiều chữ số hơn ta viết
$$\Large{\sqrt[3]{2015}\approx 12,6306301066033734798814227}$$
không lấy chữ số cuối vì nó đã được làm tròn.
Chú ý: Chữ số đứng ngay sau $12,6306301$ là số 0, sau đó mới ghép chữ số 6 kế tiếp vào.
Trong quá trình xây dựng thuật toán tuyệt đối không sử dụng các tràn bộ nhớ hoặc có nguy cơ tràn bộ nhớ. Đáp án của BGD và ĐT đã mắc phải khuyết điểm này nên chỉ đúng đến chữ số thập phân thứ 22 sau dấu phẩy và chữ số tiếp theo (là số 5) bị sai. |