Thuật toán để tính dãy số:
(tác giả fx)
Ví dụ: Cho dãy số được xác định bởi:
Tìm ?
Thuật toán:
Cách 1: Hơi dở vì sử dụng nhiều biến, xử lý vấn đề chậm nhưng ngắn gọn về thuật toán:
Nhập thuật toán:
E=E+1:A=2B+C-D: D=C:C=B:B=A
CALC
E? ấn 3==
B? ấn 3=
C? ấn 2=
D? ấn 1=
= = = ...
Cách 2: Hay hơn cách 1 vì sử dụng ít biến, xử lý vấn đề nhanh nhưng thuật toán dài dòng:
Nhập thuật toán:
D=D+1:A=2B+C-3A: D=D+1:C=2A+B-3C: D=D+1:B=2C+A-3B
CALC
D? ấn 3==
B? ấn 3=
C? ấn 2=
A? ấn 1=
Cách 3 (Dùng cho 500MS)
1 |shift| |sto| |C|
2 |shift| |sto| |B|
3 |shift| |sto| |A|
2 |alpha| |A|+|alpha| |B|-|alpha| |C| |shift| |sto| |C| U4
2 |alpha| |C|+|alpha| |A|-|alpha| |B| |shift| |sto| |B| U5
2 |alpha| |B|+|alpha| |C|-|alpha| |A| |shift| |sto| |A| U6
replay(tam giác phía trên) hai lần |shift| |replay|= /= /...
thuật toán tuy dài nhưng số dấu bằng ít hơn
Nếu ngại phải đếm thì sau dòng thứ tư cho thêm |alpha| |D| |alpha| = (màu tím)|alpha| |D|+3 và thêm vào sau dòng thứ ba 4 |shift| |sto| |D|; thêm một lần ấn replay nữa (tui viết cho 500MS)
Để tìm n chữ số tận cùng của 1 luỹ thừa , ta tìm dư của luỹ thừa đó với 10^n
Heheh , có phải rất hay không nào .
Tuy nhiên . Nếu người ta kiu tìm từ 1 đến 3 chữ số tận cùng của một luỹ thừa mà ta làm theo bài học trên thì thật là , quá oải . Chính vì thế , tui xin post một bài như sau :
_ Tìm 1 chữ số tận cùng của :
* Nếu a có chữ số tận cùng là 0 , 1 , 5 hoặc 6 thì lần lượt có chữ số tận cùng là 0 , 1 , 5 hoặc 6 .
* Nếu a có chữ số tận cùng là 2 , 3 hoặc 7 , ta có nhận xét sau với k thuộc tập hợp số tự nhiên khác 0 :
2^4k đồng dư 6 ( mod 10 )
3^4k đồng dư 1 ( mod 10 )
7^4k đồng dư 1 ( mod 10 )
Do đó để tìm 1 chữ số tận cùng của a^n với a có số tận cùng là 2 , 3 , 7 ta lấy n chia cho 4 . Giả sử n = 4k + r với r thuộc { 0 , 1 , 2 , 3 }
Nếu a đồng dư 2 ( mod 10 ) thì a^2 dồng dư 2^n = 2^(4k+r) đồng dư 6.2^r ( mod 10 )
Nếu a đồng dư 3 ( mod 10 ) thì a^n = a^(4k+r) đồng dư a^r ( mod 10 )
_ Tìm 2 chữ số tận cùng của a^n
Ta có nhận xét sau :
2^20 đồng dư 76 ( mod 100 )
3^20 đồng dư 1 ( mod 100 )
6^5 đồng dư 76 ( mod 100 )
7^4 đồng dư 01 ( mod 100 )
Mà 76^n đồng dư 76 ( mod 100 ) với n >= 1
và 5^n đồng dư 25 ( mod 100 ) với n >= 2
Suy ra kết quả sau với k là các số tự nhiên khác 0 :
a^20k đồng dư 00 ( mod 100 ) nếu a đồng dư 0 ( mod 10 )
a^20k đồng dư 01 ( mod 100 ) nếu a đồng dư 1 ; 3 ; 7 ; 9 ( mod 10 )
a^20k đồng dư 25 ( mod 100 ) nếu a đồng dư 5 ( mod 10 )
a^20k đồng dư 76 ( mod 100 ) nếu a đồng dư 2 ; 4 ; 6 ; 8 ( mod 10 )
Vậy túm lại , để tìm 2 chữ số tận cùng của a^n ta lấy số mũ 2 chia cho 20
_ Ta có :
a^100k đồng dư 000 ( mod 10^3 ) nếu a đồng dư 0 ( mod 10 )
a^100k đồng dư 001 ( mod 10^3 ) nếu a đồng dư 1 ; 3 ; 7 ; 9 ( mod 10 )
a^100k đồng dư 625 ( mod 10^3 ) nếu a đồng dư 5 ( mod 10 )
a^100k đồng dư 376 ( mod 10^3 ) nếu a đồng dư 2 ; 4 ; 6 ; 8 ( mod 10 )
Túm lại , để tìm 3 chữ số tận cùng của 1 luỹ thừa , ta tìm 2 chữ số tận cùng của số mũ .
Nhưng dù sao đi chăng nữa thì cái nguyên tắc
Để tìm n chữ số tận cùng của a^b thì ta tìm số dư của a^b với 10^n
thanks đi r` tớ posr típ
)