Bài 2: Lý thuyết số (tiếp theo)

nut bosung

THUẬT TOÁN FERMAT  
PHÂN TÍCH MỘT SỐ RA THỪA SỐ NGUYÊN TỐ

 
 
Do bộ nhớ của máy tính cầm tay có hạn nên trên bảng tính của thuật toán RHO chúng ta sử dụng 16 dòng. Nếu đến dòng 16 mà vẫn không ra kết quả, ta sẽ gán A16 vào biến nhớ A và B16 vào biến nhớ B. Sau đó nhập A và B lần lượt vào A1, B1 bảng tính sẽ được cập nhật. Lúc này nếu bài toán có kết quả thì xong, nếu vẫn không ra kết quả thì lặp lại như trên. Tuy nhiên để tránh bị lặp quá lâu ví dụ đối với số $68450159$ chúng ta có thể sử dụng Thuật toán Fermat.
 

THUẬT TOÁN FERMAT
1. Tính $x=\left[\sqrt{n}\ \right]+1$ (giá trị trần của $x$).

2. Tính $y=\sqrt{x^2-n}$. Nếu $y$ là số nguyên thì $n=(x-y)(x+y)$.

2. Nếu $y$ không là số nguyên thì tăng $x$ lên 1 đơn vị và lặp lại.
 
Nếu hai thừa số nguyên tố cùng cỡ và gần bằng $\sqrt{n}$ thì thuật toán Fermat sẽ nhanh hơn rất nhiều so với Thuật toán RHO. Ngược lại thuật toán RHO sẽ cực kỳ hiệu quả nếu thừa số thứ nhất nhỏ hơn rất nhiều so với thừa số thứ hai.

 

Áp dụng bằng số với $\boldsymbol{n=68450159}$.

 

1. Thực hành trên bảng tính:

 

Mở một bảng tính, gán số $68450159$ vào biến nhớ $x$ fermat1.
 
Nhập $\left[\sqrt{x} \right]+1$ vào A1 . Điền công thức $\sqrt{\text{A1}^2-x}$ vào B1-B10 :
 
fermat2
 
Điền công thức để tăng lên 1 đơn vị vào A2-A10
 
fermat3.
 

Vậy $68450159=8609\times 7951$.
 
 

2. Sử dụng Bảng giá trị trên máy tính Casio fx-580VNX/880BTG

 

 
 
Bấm $\fbox{MENU}\ \fbox{8}$, nhập hàm số fermat4a, phạm vi của bảng từ $\text{Int}(\sqrt{68450159}) +1$ đến
 
cộng thêm 29 và bước 1 fermat4b. Kết quả: fermat4c

Vậy $$\sqrt{8280-68450159}=329 ⇔ 68450159=(8280+329)(8280-329)=8609\times 7951$$
 
 
 

3. Chạy thuật toán Fermat trên máy tính Casio fx-580VNX

 

 
 

Gán vào biến nhớ fermat3a
 
Nhập vòng lặp lên màn hình : fermat3b sau đó bấm $\fbox{CALC}$, khi máy tính hỏi A x nhấn bangcasio2 chấp nhận các giá trị đầu vào, sau đó nhấn liên tục bangcasio2 đến khi thấy B là số nguyên
 
fermat3c thì dừng và kết quả: fermat3e.

Chia sẻ

About TS. Nguyễn Thái Sơn

TS. Nguyễn Thái Sơn
Nguyên trưởng Khoa Toán-Tin học ĐHSP TP HCM (1999-2009). Nguyên Giám đốc- Tổng biên tập NXB ĐHSP TP HCM (2009-2011). Nguyên Tổng thư ký Hội Toán học TP HCM (2008-2013).

Bài Viết Tương Tự

Phân biệt Int và Intg

Định nghĩa:   1. $\text{Int} (x)$ là phần nguyên của $\boldsymbol{x}$, tức là phần đứng …