MỘT SỐ BÀI TẬP RÈN LUYỆN KỸ NĂNG TƯ DUY Bài 01 Nếu ta liệt kê tất số tự nhiên nhỏ 10 bội 5, ta 3, 5, Tổng số 23 Tính tổng tất bội nhỏ 1000 (Project Euler, problem 1) Bài 02 Mỗi số hạng dãy Fibonacci tạo cách cộng hai số hạng liền trước Bắt đầu với 2, ta có 10 số hạng là: 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, Tính tổng tất số hạng chẵn dãy có giá trị không triệu Project Euler, problem Bài 03 Các ước số nguyên tố 13195 5, 7, 13 29 Tính ước số nguyên tố lớn số 600851475143 Project Euler, problem Bài 04 Số palindrome số mà đọc từ trái sang hay từ phải sang cho kết Số palindrome lớn tạo tích hai số có chữ số 9009 = 91 x 99 Tìm palindrome lớn tạo tích hai số chữ số Project Euler, problem Bài 05 2520 số nhỏ chia hết cho tất số từ đến 10 Tính số nhỏ chia hết cho tất số từ đến 20 Project Euler, problem Bài 06 Tổng bình phương 10 số tự nhiên là, 12 + 22 + + 102 = 385 Bình phương tổng 10 số tự nhiên là, 2 (1 + + + 10) = 55 = 3025 Do hiệu tổng bình phương bình phương tổng 10 số tự nhiên 3025 ? 385 = 2640 Tìm hiệu tổng bình phương bình phương tổng 100 số tự nhiên Project Euler, problem Bài 07 Bằng cách liệt kê số nguyên tố 2, 3, 5, 7, 11 13, ta thấy số nguyên tố thứ 13 Tìm số nguyên tố thứ 10001 Project Euler, problem Bài 08 Bài 09 Tính tích lớn chữ số liên tiếp số có 1000 chữ số sau: 73167176531330624919225119674426574742355349194934 96983520312774506326239578318016984801869478851843 85861560789112949495459501737958331952853208805511 12540698747158523863050715693290963295227443043557 66896648950445244523161731856403098711121722383113 62229893423380308135336276614282806444486645238749 30358907296290491560440772390713810515859307960866 70172427121883998797908792274921901699720888093776 65727333001053367881220235421809751254540594752243 52584907711670556013604839586446706324415722155397 53697817977846174064955149290862569321978468622482 83972241375657056057490261407972968652414535100474 82166370484403199890008895243450658541227588666881 16427171479924442928230863465674813919123162824586 17866458359124566529476545682848912883142607690042 24219022671055626321111109370544217506941658960408 07198403850962455444362981230987879927244284909188 84580156166097919133875499200524063689912560717606 05886116467109405077541002256983155200055935729725 71636269561882670428252483600823257530420752963450 Project Euler, problem Một ba số Pythagore tập ba số tự nhiên, a < b < c, cho, 2 a +b =c 2 Ví dụ, + = + 16 = 25 = Chỉ có ba Pythagore cho a + b + c = 1000 Tìm tích abc Project Euler, problem Bài 10 Tổng số nguyên tố nhỏ 10 + + + = 17 Tìm tổng tất số nguyên tố nhỏ triệu Project Euler, problem 10 Bài 11 Có số ngun tố khơng vượt q 10: 2, 3, 5, Có 25 số ngun tố khơng vượt q 100 Hỏi có số ngun tố khơng vượt 920092009? Bài 12 Phân số đơn vị phân số có tử số Dưới biểu diễn thập phân phân số đơn vị với mẫu số từ đến 10: 1/2 = 0.5 1/3 = 0.(3) 1/4 = 0.25 1/5 = 0.2 1/6 = 0.1(6) 1/7 = 0.(142857) 1/8 = 0.125 1/9 = 0.(1) 1/10 = 0.1 Với 0.1(6) nghĩa 0.166666 , có chu kz Ta thấy 1/7 có chu kz Tìm giá trị d < 1000 cho 1/d có chu kz dài biểu diễn thập phân (biết có đáp án) Project Euler, problem 26 Bài 13 Trong phương trình sau, x, y, n số nguyên dương 1/x+1/y=1/n Với n = 4, có nghiệm phân biệt : 1/5+1/20=1/4 1/6+1/12=1/4 1/8+1/8=1/4 Tìm giá trị nhỏ n để số nghiệm phân biệt vượt 1000 Project Euler, problem 108 Bài 14 648 số tự nhiên n nhỏ cho n/2 số phương n/3 số lập phương: 648 / = 324 = 18^2 648 / = 216 = 6^3 Tìm số tự nhiên nhỏ cho n/2 số phương, n/3 số lập phương n/5 lũy thừa bậc Bài 15 Trong phương trình sau x, y, n số nguyên dương 1/x+1/y=1/n Có thể kiểm tra n = 1260 phương trình có 113 nghiệm phân biệt giá trị n nhỏ để số nghiệm phân biệt phương trình vượt 100 Tìm giá trị n nhỏ để số nghiệm phân biệt phương trình vượt triệu Chú {: Đây phiên khó 13 cần cách cài đặt thơng minh thuật tốn vét cạn Project Euler, problem 110 Bài 16 Một hàng độ dài đơn vị lấp màu đỏ có độ dài đơn vị, cho bất kz hai (có thể có độ dài khác nhau) cách màu đen Có 17 cách lấp Có cách lấp hàng độ dài 50 đơn vị? Chú {: Bạn dùng có độ dài khác Ví dụ để lấp hàng có độ dài đơn vị, bạn dùng đỏ (3), đen (1) đỏ (4) Project Euler, problem 114 Bài 17 Đi từ trái sang phải, khơng có chữ số nhỏ chữ số đứng trước số xét gọi số tăng; ví dụ, 134468 Tương tự khơng có chữ số nhỏ số đứng sau gọi số giảm, ví dụ 66420 Ta gọi số tự nhiên không tăng không giảm số "hoạt bát", ví dụ 155349 Khi n tăng, tỉ lệ số "hoạt bát" nhỏ n tăng cho có 12951 số khơng "hoạt bát" nhỏ triệu có 277032 số khơng "hoạt bát" nhỏ 1010 Có số khơng "hoạt bát" nhỏ số googol (10100)? Project Euler, problem 113 Bài 18 874 = 19x46 số tự nhiên nhỏ có tổng chữ số + + = 19 chia hết cho 19 Tìm số tự nhiên nhỏ có tổng chữ số 2009 chia hết cho 2009 Bài 19 Mọi hợp số lẻ biểu diễn dạng tổng số tự nhiên liên tiếp với nhiều số hạng (bạn chứng minh khơng?) Ví dụ, số 99 có cách biểu diễn: 99 = + + + + 14 99 = + + + + 15 99 = 14 + 15 + 16 + + 19 99 = 32 + 33 + 34 Trong số cách biểu diễn trên, 99 = + + + + 14 cách biểu diễn có số hạng bé Tìm số hạng bé biểu diễn số 555666777888999 dạng tổng số tự nhiên liên tiếp có nhiều số hạng Bài 20 Có giỏ trứng "thần kz" với tính chất sau đây: Nếu lần lấy từ giỏ i trứng, sau lặp lại số lần, giỏ dư lại i-1 trứng (với ≤ i ≤ 30) Hỏi tổng số trứng nhỏ có giỏ trứng bao nhiêu? Bài 21 Tìm chữ số cuối 329! Bài 22 Tìm chữ số cuối số 19891989 1989 (số tạo 1989 lặp lại số 1989) Bài 23 Hàm ⱷ(n) (đọc "phi" n) định nghĩa số số tự nhiên không vượt n nguyên tố với n Nói cách khác: ⱷ(n)=|{d | ≤ d ≤ n ˄ (d,n)=1}| Ví dụ ⱷ(12) = bao gồm số 1,5,7,11 Tính ⱷ(123456) Bài 24 Với hàm ⱷ(n) định nghĩa Bài 23, tính ⱷ(9876543210) Bài 25 Với số k cho trước, tìm k số tự nhiên liên tiếp cho số chia hết cho số phương Bạn nhận cách chứng minh khẳng định tốn sau: Tìm số tự nhiên n nhỏ cho: n chia hết cho n+1 chia hết cho n+2 chia hết cho 25 n+3 chia hết cho 49 n+4 chia hết cho 121 n+5 chia hết cho 169 Bài 26 Số nguyên dương d gọi bậc a theo modulo m d số nguyên dương nhỏ cho: ad ≡ (mod m) Ví dụ bậc theo modulo vì: 21 ≠ (mod 7) 22 ≠ (mod 7) ≡ (mod 7) Không phải lúc tồn bậc a theo modulo m Ví dụ a=2 m=4 Tìm bậc theo modulo 1975300489 Bài 27 Với hàm ⱷ(n) định nghĩa 23 khái niệm bậc a theo modulo m định nghĩa 26, ta có khái niệm: Số tự nhiên a gọi nguyên thủy (primitive root) m a có bậc ⱷ(m) theo modulo m Ví dụ nguyên thủy có bậc ⱷ(7)=6 theo modulo 7: 31 ≡ (mod 7) 32 ≡ (mod 7) 33 ≡ (mod 7) 34 ≡ (mod 7) 35 ≡ (mod 7) 36 ≡ (mod 7) Việc a nguyên thủy m có { nghĩa đặc biệt: tất số d cho (d, m)=1 biểu diễn dạng lũy thừa a theo modulo m Số có hai nguyên thủy Tìm số tự nhiên nhỏ có nguyên thủy tất nguyên thủy không nhỏ 40 Bài 28 Bài 29 Chỉ có cách xếp xe lên bàn cờ vua 3x3 cho khơng có xe công lẫn xe nằm đường chéo chính: Hỏi có cách xếp 20 xe lên bàn cờ vua 20x20 để thỏa mãn điều kiện tương tự? Định l{ Fermat nhỏ phát biểu sau Nếu p số nguyên tố ap-1 ≡ (mod p) với (a,p)=1 p-1 Người ta nảy câu hỏi ngược: giả sử p số cho a ≡ (mod p) với (a, p)=1, liệu p có phải số ngun tố khơng? Câu trả lời khơng, có hợp số có tính chất Các hợp số gọi số Carmichael Số Carmichael nhỏ số 561 Tìm số Carmichael thứ 160 Bài 30 Số có tổng ước thật lớn phạm vi từ đến 50 48 Tổng ước thật 48 bằng: + + + + + + 12 + 16 + 24 = 76 Tìm số có tổng ước thật lớn phạm vi từ đến 108 English Translation: Find the number in the range from to 108 that has the maximum sum of proper divisors Bài 31 Phương trình đồng dư x3 - 2x + ≡ (mod 5) có nghiệm x ≡ (mod 5) x ≡ (mod 5) Đếm số nghiệm phương trình đồng dư: x3 - 2x + ≡ (mod 125) English Translation: Find the number of solutions of the above congruence equation Bài 32 Nghiệm lớn phương trình đồng dư x3 - 2x + ≡ (mod 25) 30: 303 - 2.30 + ≡ (mod 25) Tìm nghiệm lớn phương trình đồng dư x3 - 2x + ≡ (mod 249) English Translation: Find the maximum solution of the above congruence equation Bài 33 Bạn giải tốn cổ sau: Vừa gà vừa chó, Bó lại cho tròn, Ba mươi sáu con, Một trăm chân chẵn Hỏi có gà, chó? Trả lời dạng "x y" với x số gà, y số chó English Translation: There are 36 dogs and chickens and 100 legs How many chickens and how many dogs are there? Answer in the form "x y" where x is the number of chickens and y is the number of dogs Bài 34 Tìm nghiệm lớn phương trình đồng dư: x3+494959959615343x2+348686257395285x+714226352220802 ≡ (mod 1234567898765479) English Translation: Find the maximum solution of the above congruence equation Bài 35 Gọi p(n) số cách khác để chia n đồng xu thành nhóm Ví dụ, p(5)=7 có cách chia đồng xu thành nhóm OOOOO OOOO O OOO OO OOO O O OO OO O OO O O O OOOOO Tìm giá trị nhỏ n cho p(n) chia hết cho triệu Project Euler, problem 78 Bài 36 Tính Bài 37 Trong số từ đến 10 chọn nhiều số để số đôi không chia hết cho nhau: 45679 Hỏi số từ đến 1234567898 chọn nhiều số để số đôi không chia hết cho nhau? English Translation: What is the maximum number of positive integers can be chosen from to 1234567898 such that no two numbers are divisible by each other? Bài 38 Xét tất số nguyên có dạng ab với ≤ a ≤ and ≤ b ≤ 5: 22=4, 23=8, 24=16, 25=32 32=9, 33=27, 34=81, 35=243 42=16, 43=64, 44=256, 45=1024 52=25, 53=125, 54=625, 55=3125 Nếu ta số theo thứ tự tăng dần loại bỏ lặp lại, ta dãy số sau: 4, 8, 9, 16, 25, 27, 32, 64, 81, 125, 243, 256, 625, 1024, 3125 Có số phân biệt dãy sinh ab với ≤ a ≤ 100 and ≤ b ≤ 100? Project Euler, Problem 29 100 +2 100 + + 1000000000000 100 in kết theo modulo 1000000000039 Bài 39 Thật ngạc nhiên có số viết dạng tổng lũy thừa bậc chữ số nó: 1634 = 14 + 64 + 34 + 44 8208 = 84 + 24 + 04 + 84 9474 = 94 + 44 + 74 + 44 Vì = 14 khơng phải tổng nên khơng tính vào Tổng số 1634 + 8208 + 9474 = 19316 Tìm tổng tất số viết dạng tổng lũy thừa bậc chữ số Project Euler, Problem 30 Bài 40 Đặt summod(n) = n mod + n mod + + n mod n Ta có summod(10) = 10 mod + 10 mod + + 10 mod 10 = + + + + + + + + + = 13 Tính summod(1234567897) Bài 41 Đặt sumdiv(n) = n div + n div + + n div n Ta có: sumdiv(10) = 10 div + 10 div + + 10 div 10 = 10 + + + + + + + + + = 27 Tính sumdiv(2000000000) Bài 42 Với hàm sumdiv(n) định nghĩa 41, tính sumdiv(3004197507051954) Bài 43 Số có nhiều ước phạm vi từ đến 100 số 60, có 12 ước: 10 12 15 20 30 60 Tìm số có nhiều ước phạm vi từ đến 108 Trả lời dạng "x y" với x số tìm được, y số ước x Nếu có nhiều số có nhiều ước nhất, trả lời số bé English Translation: Find the number from to 10 that has the maximum number of divisors Answer in the form "x y" where x is the number and y is its number of divisors If there is more than one such x, answer the minimum x Bài 44 Đặt coprime(n) = |{(a,b) | ≤ a,b ≤ n ˄ (a,b) = 1}|, nói cách khác coprime(n) số cặp số nguyên tố mà hai số có giá trị khơng vượt q n coprime(n) số điểm nguyên nhìn thấy từ gốc tọa độ (khơng có điểm ngun giữa) nằm hình vng (1,1)-(n,n) Ví dụ, coprime(4) = 11 tương ứng với 11 cặp số: (1, 1), (1, 2), (1, 3), (1, 4), (2, 1), (2, 3), (3, 1), (3, 2), (3, 4), (4, 1), (4, 3) Tính coprime(32202) English Translation: Compute coprime(32202) with the function coprime as in the above definition Bài 45 Với hàm coprime(n) định nghĩa 44, tính coprime(111222333) Bài 46 Với hàm summod(n) định nghĩa 40, tính chữ số cuối summod(3002193020945) English Translation: Find the last digits of summod(3002193020945) Bài 47 Bài mở rộng 37 Trong 20 số lẻ chọn nhiều 13 số để số đôi không chia hết cho nhau: 11 13 15 17 19 21 23 25 29 31 35 37 Hỏi 68, 102, 1050 số lẻ chọn chọn nhiều số để số đôi không chia hết cho nhau? Trả lời dạng "x y z" với x, y, z đáp án cho phần English Translation: (This is an extension of problem 37) What is the maximum number of integers can be chosen from the first n odd numbers such that no two numbers are divisible by each other? Find the answer when n=68, 102 and 1050 Answer in the form "x y z" where x, y, z is the answer for each part Bài 48 Bài sử dụng phương trình 1/x + 1/y = 1/n, với x, y, n số nguyên dương, tương tự 13 Tìm số nghiệm phân biệt phương trình n=133823303952137982 Bài 49 English Translation: This problem uses the same equation 1/x + 1/y = 1/n, where x, y and n are positive integers as in problem 13 Find the number of solutions of the equation when n=133823303952137982 Ta gọi hình vng đơn vị hình vng có dạng sau: S(n) số hình tam giác có n*n hình vng đơn vị xếp thành hình vng lớn Ví dụ: Với n =1 ta có hình vng lớn sau: (S(1) = 8) Với n=2 ta có hình vng lớn sau: (S(2) = 44) Nhiệm vụ bạn tính chữ số tận S(20082009) English Translation: S(n) is the number of triangles in a n by n grid of unit squares Compute S(20082009) Bài 50 Có cặp số nguyên (x,y) thỏa mãn 2007 ≤ x/y ≤ 2010 xy ≤ 2007200820092010? English Translation: How many pairs of integers (x, y) satisfying 2007 ≤ x/y ≤ 2010 and xy ≤ 2007200820092010? Bài 51 Đếm số cách chọn 1x1x1 thuộc khối rubik 3x3x3 cách chọn xem giống tồn cách đặt rubik cho vị trí chọn cách VD: Với rubik 2x2x2, có cách chọn ô 1x1x1 - Chọn ô hàng Chọn ô mặt khác hàng - Chọn ô tương ứng với đỉnh đối diện Bài 52 Tung đồng xu cân đối thu mặt ngửa dừng Tính xác suất để thí nghiệm dừng sau số chẵn lần tung? Ghi kết dạng phân số tối giản a/b (a,b số nguyên, UCLN(a,b) = 1) Bài 53 Cần phải có tối thiểu người phòng cho xác suất để có hai người có ngày sinh tháng tư lớn 1/2 Giả sử ngày sinh đồng khả năm có 366 ngày Bài 54 Cho N = 999 (gồm 100 chữ số 9) Tìm số nguyên tố lớn nhỏ N