Ôn tập về đệ quy
Chuyển đổi nhị phân
Nộp bàiPoint: 1
Viết chương trình nhập số nguyên n > 0, sau đó hãy chuyển đổi số n sang hệ đếm cơ số 2 VD: nhập n = 65, In ra : 1000001
Ràng buộc: ~0 < n \leq 10^9~
Input 01:
15
Output 01:
1111
Input 02:
1024
Output 02:
10000000000
Số nguyên tố cùng nhau
Nộp bàiPoint: 1
Viết chương trình kiểm tra xem 2 số tự nhiên a, b có nguyên tố cùng nhau (nguyên tố cùng nhau thì UCLN là 1). Nếu đúng in ra YES, không đúng in ra NO
Ràng buộc: ~0 < a, b \leq 10^6~
Input 01:
10 11
Output 01:
YES
Input 02:
20 22
Output 02:
NO
Input 03:
1000000 2
Output 03:
NO
Tìm chữ số nhỏ nhất trong N bằng đệ quy
Nộp bàiPoint: 1
Cho N là số nguyên dương nhập từ bàn phím. Sử dụng đệ quy để tìm chữ số nhỏ nhất của N ví dụ N = 12345 thì chứ số nhỏ nhất sẽ là 1
Ràng buộc: ~0 < N \leq 10^{18}~
Input 01:
12345
Output 01:
1
Input 02:
4322562346238716
Output 02:
1
Tính tổng các chữ số lẻ trong N bằng đệ quy
Nộp bàiPoint: 1
Cho N là số nguyên nhập từ bàn phím. Sử dụng đệ quy, tính tổng chữ số lẻ của N ví dụ N = 12345 => 1 + 3 + 5 = 9
Ràng buộc: ~0 < N \leq 10^{18}~
Input 01:
12345
Output 01:
9
Input 02:
1234567
Output 02:
16
Input 03:
123456789000000
Output 03:
25
Chuyển đổi sang hệ thập lục phân (hệ 16)
Nộp bàiPoint: 1
Chuyển đổi một số nguyên dương N từ hệ thập phân sang hệ thập lục phân (hệ 16), lưu ý trong hệ 16 thì 10 = A, 11 = B, 12 = C, 13 = D, 14 = E, 15 = F
Ràng buộc: ~0 < N \leq 10^6~
Input 01:
15
Output 01:
F
Input 02:
100
Output 02:
64
Input 03:
1000000
Output 03:
F4240
Chuyển đổi sang bát phân (hệ 8)
Nộp bàiPoint: 1
Chuyển đổi một số nguyên dương N từ hệ thập phân sang hệ bát phân (hệ 8)
Ràng buộc: ~0 < N \leq 10^6~
Input 01:
10
Output 01:
12
Input 02:
99
Output 02:
143
Input 03:
1000000
Output 03:
3641100
Tính tổng bình phương bằng đệ quy
Nộp bàiPoint: 1
Tổng bình phương liên tiếp ~S(n) = 1^2 + 2^2 + 3^2 + ... + n^2~ với n nhập từ bàn phím bằng phương pháp đệ quy
Ràng buộc: ~0 < N \leq 10^4~
Input 01:
3
Output 01:
14
Input 02:
10
Output 02:
385
Input 03:
10000
Output 03:
333383335000
Kiểm tra n có phải toàn chữ số lẻ sử dụng đệ quy
Nộp bàiPoint: 1
Kiểm tra xem số nguyên dương n có chứa toàn chữ số lẻ, nếu đúng in ra 1, ngược lại in ra 0.
Ví dụ:
Input:
1357
Ouput:
1
Xuất mảng đảo ngược sử dụng đệ quy
Nộp bàiPoint: 1
Sử dụng đệ quy viết hàm xuất ra mảng một chiều theo thứ tự đảo ngược.
Ví dụ:
Input:
6
1 2 3 4 5 6
Output:
6 5 4 3 2 1
Kiểm tra xem mảng có chứa toàn số âm
Nộp bàiPoint: 1
Sử dụng đệ quy, kiểm tra xem mảng có chứa toàn số âm, nếu đúng in ra 1, ngược lại in ra 0.
Ví dụ:
Input:
10
1 2 -5 -5 -92 -95 -88 23 -11 -74
Output:
0
Tính lũy thừa (nên sử dụng lũy thừa nhị phân)
Nộp bàiPoint: 1
Cho hai số nguyên a và b. Hãy tính giá trị của a mũ b.
Input:
Một dòng gồm hai số nguyên dương a và b (1 ≤ a ≤ 20, 1 ≤ b ≤ 6)
Output:
In ra giá trị của a ** b
Input:
2
3
Output:
8
Input:
5
4
Output:
625
Bài toán tháp Hà Nội
Nộp bàiPoint: 1
Cho 3 cọc A, B và C và n chiếc đĩa có kích thước khác nhau. Ban đầu, các chiếc đinh được đặt ở cọc A theo thứ tự lớn nhất ở dưới cùng, nhỏ dần khi đến chiếc đĩa cuối cùng.
Mục tiêu của bài toán là di chuyển toàn bộ chiếc đĩa từ cọc A sang cọc C, sử dụng cọc B làm trung gian, tuân thủ các quy tắc sau:
Chỉ có 3 cọc để di chuyển, không được thêm cọc thứ 4 nào khác.
Một lần chỉ được di chuyển một đĩa và chỉ được di chuyển chiếc đĩa nằm trên đỉnh của cọc, không được di chuyển đĩa nằm giữa.
Một đĩa chỉ có thể được đặt lên một đĩa lớn hơn, tuy nhiên không nhất thiết hai đĩa này phải có kích thước liền kề, tức là đĩa nhỏ nhất có thể nằm trên đĩa lớn nhất.
Hãy nhập vào số lượng chiếc đĩa là N, in ra các bước di chuyển N chiếc đĩa từ cọc A sang cọc C như output mẫu bên dưới.
Ràng buộc: ~0 < N \leq 10~
Input 01:
1
Output 01:
1 -> A -> C
Giải thích: Di chuyển đĩa 1 từ A sang C
Input 02:
2
Output 02:
1 -> A -> B
2 -> A -> C
1 -> B -> C
Input 03:
3
Output 03:
1 -> A -> C
2 -> A -> B
1 -> C -> B
3 -> A -> C
1 -> B -> A
2 -> B -> C
1 -> A -> C
Tính tổng phân số sử dụng đệ quy
Nộp bàiPoint: 1
Tính tổng sau sử dụng đệ qui: S=1+1/2+1/3+….+1/n
Lưu ý: Kết quả lấy 2 chữ số sau phần thập phân
Ví dụ:
Input:
2
Output:
1.50