3 Các dạng toán liên quan
3.1.3 Lớp các bài toán áp dụng hệ đếm cơ số
Hệ đếm cơ số có thể dùng để xây dựng nhiều phương trình hàm có tính chất rất thú vị. Nhìn trên phương diện của một cơ số khác, có thể rất khó nhận ra quy luật, nhưng nếu chọn đúng cơ số thì bài toán trở nên vô cùng đơn giản. Xin nhắc lại là với
blà một số nguyên dương lớn hơn2thì mọi số nguyên dươngN đều có thể biểu diễn một cách duy nhất dưới dạng
N = (a1a2...ak)b =a1bk−1+a2bk−2+· · ·+akb0,
với1 ≤a1 ≤ b−1,0 ≤a2,· · · , ak ≤ b−1.Đó là định nghĩa hệ đếm cơ sốbcủa số
N dạng cơ bản nhất. Hệ đếm thường sử dụng nhất là hệ đếm cơ số2và cơ số3. Sau đây ta xét một vài bài toán thể hiện tư tưởng trên.
Bài toán 3.12(IMO 1988). Xét hàm sốf :N → Nthỏa mãn điều kiện
f(1) = 1, f(3) = 3và với mọi số nguyên dươngnthì
f(2n) = f(n);
f(4n+ 1) = 2f(2n+ 1)−f(n);
Tìm số các giá trị củan ≤1988màf(n) =n.
Lời giải. Giả sử tồn tại hàm số f thỏa mãn yêu cầu bài toán. Một sốk ∈ N bất kì chỉ có thể có một trong bốn dạng
k = 4n= 2.2n;k = 4n+ 1;k = 4n+ 2;k = 4n+ 3.
Do đó từ giả thiết có thể thấy rằng hàm số đã cho được xác định một cách duy nhất. Ta sẽ sử dụng cơ số2 để tìm biểu diễn của hàm sốf. Ta có
f (12) =f(1) = 1 = 12;f (102) =f(2) = f(1) = 1 = 012;
f (112) =f(3) = 3 = 112;f(1002) =f(4) = 1 = 0012;
f (1012) =f(5) = 5 = 1012;f (1102) =f(6) = 0112· · ·
Quy luật.Biểu diễn của f(n) trong cơ số 2 chính là biểu diễn củanbằng cách viết ngược lại, tức làf((akak−1· · ·a1a0)2) = (a0a1· · ·ak−1ak)2.
Chứng minh.Giả sử tính chất đúng chok < n.Ta sẽ chứng minh nó đúng chon.
+ Nếun chẵn (n = 2m) thì theo giả thiết f(n) = f(2m) = f(m). Vìn = 2m
nên m được biểu diễn trong hệ cơ số 2 dưới dạng m = (akak−1· · ·a1a0)2 thìn = (akak−1· · ·a1a00)2.Theo giả thiết quy nạp ta có
f(m) =f((akak−1· · ·a1a0)2) = (a0a1· · ·ak−1ak)2 =f(n) = =f ((akak−1· · ·a1a00)2) = (0a0a1· · ·ak−1ak)2.
+ Nếun = 4m+1vớim= (akak−1· · ·a1a0)2thì4m+1 = (akak−1· · ·a1a001)2
và2m+ 1 = (akak−1· · ·a1a01)2.Theo đầu bài và giả thiết quy nạp ta có
f(akak−1. . . a1a001)2 =f(4m+ 1) = 2f(2m+ 1)−f(m) = 2.(1a0a1. . . ak−1ak)2−f(m) = (1a0a1. . . ak−1ak)2−f(m) = (10. . .0)2 | {z } k+3 +(a0a1. . . ak−1ak0)2−(a0a1. . . ak−1ak)2 = (10. . .0)2 | {z } k+3 +(a0a1. . . ak−1ak0)2 = (10a0a1. . . ak−1ak)2.
+ Nếun = 4m+3vớim= (akak−1· · ·a1a0)2thì4m+1 = (akak−1· · ·a1a011)2
và2m+ 1 = (akak−1· · ·a1a01)2.Theo đầu bài và giả thiết quy nạp ta có
f(akak−1. . . a1a011)2 =f(4m+ 3) = 3f(2m+ 1)−2f(m) = f(2m+ 1) + 2f(2m+ 1)−2f(m) = (1a0a1. . . ak−1ak)2+ (1a0a1. . . ak−1ak0)2−(a0a1. . . ak−1ak0)2 = (1a0a1. . . ak−1ak)2+ (10. . .0)2 | {z } k+3 = (11a0a1. . . ak−1ak)2.
Vậy quy luật được chứng minh.
Một số trong cơ số 2 được gọi làpalindromic nếu nó không đổi khi ta đổi chỗ các
chữ số theo thứ tự ngược lại. Với mỗik, có tất cả2
k−1 2 sốpalindromiccó độ dài
k(sốpalindromicbậck). Thật vậy, một sốpalindromichoàn toàn được xác định nếu biết tất cả
k+ 1
2
chữ số đầu tiên bên phải, các chữ số còn lại được xác định bằng cách lấy đối xứng qua số đứng giữa. Vì chữ số đầu tiên bên phải bắt buộc phải là1, nên chỉ còn lại k+ 1 2 −1 = k−1 2
vị trí này tùy chọn là chữ số0hoặc chữ số
1. Có 2|×2× · · · ×{z 2} k−1 2 = 2 k−1 2 khả năng chọn, nghĩa là có tất cả 2 k−1 2 số palindromicbậck.
Từ quy luật trên ta suy ra nghiệm phương trìnhf(n) = nvới
n≤ 1988 = 111110011102
Chính là các số palindromic tối đa10 chữ số và những số có 11 chữ số nhưng nhỏ hơn n ≤ 1988. Vì có một số với1 chữ số (số 1 = 12) và một số với2 chữ số trong cơ số2 (số3 = 112) thỏa mãn phương trìnhf(n) =nnên tất cả có
1+1+2 "3−1 2 # +2 "4−1 2 # +· · ·+2 "9−1 2 # +2 "10−1 2 # = 2(1+2+· · ·+16) = 62.
Số có tối đa 10 chữ số trong cơ số2, tức là có tất cả 62 chữ số trong khoảng 0 ≤
n ≤ 1023 thỏa mãn phương trình f(n) = n. Có tất cả 2
"11−1 2
#
khoảng 1024 ≤ n ≤ 2047 (có 11 chữ số) là palindromic. Trong số đó có hai số
111111111112 = 2047 và 111110111112 = 2015 vượt quá 1988. Vậy có tất cả
32−2 = 30số trong khoảng 1024 ≤ n ≤ 1988thỏa mãn phương trìnhf(n) = n. Cuối cùng, phương trìnhf(n) =ncó tất cả62 + 30 = 92nghiệm thỏa mãn.
Bài toán 3.13(IMO shortlist 2000). Xét hàm sốF : N→ Nthỏa mãn điều kiện
(i) F(4n) =F(2n) +F(n); (ii) F(4n+ 2) = F(4n) + 1; (iii) F(2n+ 1) =F(2n) + 1.
Chứng minh rằng với mỗi số nguyên dươngm, số các số nguyênn với0 ≤ n < 2m
vàF(4n) =F(3n)và bằng F 2m+1
.
Lời giải. Giả sử tồn tại hàm sốF thỏa mãn yêu cầu bài toán. Do(i)ta có
F(4.0) =F(2.0) +F(0).
Suy raF(0) = 0.Tương tự, từ(ii)suy raF(2) =F(4.0 + 2) =F(4.0) + 1 = 1.Từ
(iii)ta có F(3) = F(2 + 1) = F(2) + 1 = 2.Ta thấyF(n)xác định một cách duy nhất từ ba điều kiện của đầu bài. Ta tính và quan sát bảng giá trị củaF(n) dưới đây
n 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
F(n) 0 1 1 2 2 3 3 4 3 4 4 5 5 6 6 7 5
Bổ đề 1.F (2r) =ur+1,trong đóur là số hạng thứrcủa dãy Fibonacci
u0 = 0, u1 = 1, un+1 =un +un−1, n≥1.
Chứng minh bằng phương pháp quy nạp.
Bổ đề 2.Nếuncó biểu diễn cơ số 2làn = (ak· · ·a0)2thì
F(n) =akuk+1+· · ·+a0u1. (3.11)
Chứng minh bằng phương pháp quy nạp.
(ta gọi là chữ số1cô lập) thìF(3n) =F(4n).
Chứng minh. Giả sử trong biểu diễn nhị phânn = (ak. . . a0)2 không có hai chữ số
1liên tiếp. Vì3n = 2n+n,mà2n= (ak. . . a00)2, nên
3n = 2n+n = (ak. . . a00)2+ (ak. . . a0)2 =ak(ak−1+ak). . .(ai−1+ai). . .(a0 +a1)a0. Do đóF(n) =akuk+1+· · ·+a0u1 và F(3n) =akuk+2+ (ak−1+ak)uk+1+· · ·+ (ai−1+ai)ui+1+a0u1 =ak(uk+2+uk+1) +ak−1(uk+1+uk) + +· · ·+ai−1(ui+1+ui) +· · ·+a0(u2+u1) =F(4n).
Bổ đề 4.Với mọin thìF(3n) ≤ F(4n). Dấu bằng xảy ra khi và chỉ khi trong biểu diễn số nhị phân củanlà mọi chữ số1là cô lập.
Chứng minh bằng phương pháp quy nạp.
Bây giờ ta còn phải chứng minh rằng um+2 = F 2m+1 số nguyên dương
n
trong khoảng[0; 2m), với các chữ số1bị cô lập trong biểu diễn nhị phân của chúng. Thật vậy
- Vớim= 1ta có hai số0,1vàu3 = 2;
- Với m = 2 ta có ba số 0, 1, 3 = (10)2 là những số với những số 1 bị cô lập trong biểu diễn nhị phân vàu4 = 3;
- Giả sử điều này đúng với k = m. Ta chứng minh nó đúng với k = m + 1. Giả sử n < 2m vàn = (am−1. . . a0)2. Khi ấyn < 2m−1 khi và chỉ khi am−1 = 0. Trong trường hợp này theo quy nạp ta có um+1 số với các chữ số 1 cô lập. Nếu
2m−1 ≤ n < 2m thìam−1 = 1, do đóam−2 = 0 và lại theo quy nạp ta cóum số với các chữ số 1cô lập. Vậy trong tất cả các số trong khoảng0 ≤ n < 2m có tổng cộng
um+1+um = um+2 =F 2m+1
Bài toán 3.14. Tìm tất cả các hàm sốf : N∗ → N∗thỏa mãn các điều kiện
1)f(1) = 1;
2)f(2n) = 2f(n)−1;
3)f(2n+ 1) = 2f(n) + 1,∀n ∈N∗.
Lời giải. Giả sử tồn tại hàm số f thỏa mãn yêu cầu bài toán. Từ giả thiết ta có
f(1) = 1,suy raf(12) = 12 = 1.20 và
1 =f(2) = f((10)2) = (01)2 = 0.21+ 1.20; 3 =f(3) = f((11)2) = (11)2 = 1.21+ 1.20;
1 =f(4) = f((100)2) = (001)2 = 0.22 + 0.21+ 1.20; 3 =f(5) = f((101)2) = (011)2 = 0.22 + 1.21+ 1.20.
Ta thấy rằng: Nếuncó biểu diễn trong hệ nhị phân là n= (akak−1...a1)2
vớiak = 1thì
f((akak−1...a1)2) = (ak−1...a1ak)2 =ak−1.2k−1+· · ·+a1.21+ak.20.
Ta sẽ chứng minh nhận xét trên bằng quy nạp + Nhận xét trên đúng vớin ≤5.
+ Giả sử nhận xét trên đúng vớin = m,(m≥ 6). Ta chứng minh nhận xét cũng đúng vớin= m+ 1.
- Trường hợp 1:m+ 1là số chẵn, đặtm+ 1 = 2q vớiq = (akak−1...a1)2và
m+ 1 = 2q = (akak−1...a10)2
ta được
f(m+ 1) =f(2q) = 2f(q)−1 = 2(ak−1.2k−1+· · ·+a1.21+ak.20)−1 = (ak−1...a101)2 = (ak−1...a10ak)2.
- Trường hợp 2:m+ 1là số lẻ, đặtm+ 1 = 2q+ 1vớiq = (akak−1...a1)2 và
ta được
f(m+ 1) =f(2q+ 1) = 2f(q) + 1 = 2(ak−1.2k−1 +· · ·+a1.21 +ak.20) + 1 = (ak−1...a111)2 = (ak−1...a11ak)2.
Vậy nhận xét đúng với n = m + 1. Do đó nếu n biểu diễn trong hệ nhị phân là
n = (akak−1...a1)2 vơiak = 1thì
f((akak−1...a1)2) = (ak−1...a1)2 =ak−1.2k−1+· · ·+a1.21+ak.20.
Thử lại, ta thấy hàm sốf thỏa mãn điều kiện bài toán.
Bài toán 3.15. Giả sửf : N∗ →N∗ là hàm số thỏa mãn các điều kiện
f(1) = 1, f(2n) =f(n) vàf(2n+ 1) =f(2n) + 1,∀n ∈ N∗.
Tìm giá trị lớn nhất củaf(n)trong tập{1,2,· · · ,2006}.
Lời giải. Vì f(2n) được tính theo f(n) và f(2n + 1)được tính theo f(2n), tức là theof(n),nên ta nghĩ tới viết các số trong cơ số2. Ta có
f(102) =f(2) = f(1) = 1;f(112) = f(3) = f(2) + 1 = 2;
f(1002) =f(4) = f(2) = 1;f(1012) =f(5) = f(2) + 1 = 2;
f(1102) =f(6) = f(3) = 2;f(1112) =f(7) = f(7) + 1 = 3.
Từ đây ta rút ra quy luật.
Quy luật.f(n) bằng số chữ số1 trong biểu diễn cơ số2củan.
Chứng minh.Giả sử khẳng định đúng với mọi k < n.Ta sẽ chứng minh nó đúng với
n.
- Nếu n chẵn thì n = 2m = 102.m. Vì trong hệ cơ số 2, khi nhân một số với
2 = 102,ta chỉ việc thêm số0vào cuối số đó nênmvàn = 102.mcó cùng số chữ số
1 trong biểu diễn cơ số2. Theo giả thiết quy nạp,f(m) bằng đúng số chữ số 1 của
m, màf(n) = f(2m) = f(m) nênf(n) cũng bằng đúng số chữ số 1củam, tức là cũng bằng đúng số chữ số1củan.
- Nếunlẻ, tức làn = 2m+ 1 = 102.m+ 1thìncó số chữ số1 nhiều hơnmlà
f(n) =f(2m+ 1) =f(m) + 1,mà theo giả thiết quy nạp,f(m)bằng đúng số chữ số 1 của mnên f(n) cũng bằng số chữ số 1 của m cộng thêm1, tức làf(n) cũng bằng đúng số chữ số1củan.
Bài toán dẫn đến phải tìm số có chữ số1lớn nhất trong biểu diễn cơ số2 của các số nhỏ hơn hoặc bằng2006.Vì111111111112 = 211−1 = 2047gồm11chữ số 1, mà
2006 <2047nênf(n)có nhiều nhất là10chữ số1. Ta lại có
f(1023) =f(11111111112) = 10.
Do đó giá trị lớn nhất của f(n) trong khoảng1 ≤ n ≤ 2006là 10đạt được khi
n = 1023.