Bài tập Đệ quy - Hưng
In thông báo bằng đệ quy
Nộp bàiPoint: 1
Viết chương trình đệ quy in ra một câu thông báo HOC CONG NGHE, câu thông báo được in ra 10 lần, mỗi câu trên 1 dòng
Lưu ý: Xem Output để in ra cho đúng định dạng
Output:
1. HOC CONG NGHE
2. HOC CONG NGHE
3. HOC CONG NGHE
4. HOC CONG NGHE
5. HOC CONG NGHE
6. HOC CONG NGHE
7. HOC CONG NGHE
8. HOC CONG NGHE
9. HOC CONG NGHE
10. HOC CONG NGHE
In giá trị từ 1 đến 20
Nộp bàiPoint: 1
Viết chương trình đệ quy in ra các số từ 1 đến 20, mỗi số cách nhau một khoảng trắng
Output:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
In giá trị từ 20 về 1 bằng đệ quy
Nộp bàiPoint: 1
Viết chương trình đệ quy in ra các số từ 20 về 1, mỗi số cách nhau một khoảng trắng
Output:
20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
Tính tổng từ 1 đến N
Nộp bàiPoint: 1
Viết chương trình tính tổng các số từ 1 đến N với N là số nguyên dương nhập từ bàn phím, ví dụ với n = 5 thì tổng sẽ bằng 1 + 2 + 3 + 4 + 5
Ràng buộc: ~0 < N \leq 10^5~
Input 01:
5
Output 01:
15
Input 02:
100000
Output 02:
5000050000
Tính tổng sử dụng đệ quy
Nộp bàiPoint: 1
Tính tổng sau sử dụng hàm đệ qui: S=-1+2-3+4+…..+(-1)^n.n
Ví dụ:
Input:
3
Output:
-2
Tính số Fibonacci thứ N bằng đệ quy
Nộp bàiPoint: 1
Số Fibonacci là số có tính chất Fn = Fn-1 + Fn-2 với F0 = 0 và F1 = 1, hãy sử dụng đệ quy để tính số Fibonacci thứ N với N nhập từ bàn phím
Ví dụ về số Fibonacci thứ 3 sẽ bằng 1 vì F2 = F1 + F0 = 1 + 0 = 1
Ràng buộc: ~0 < N \leq 35~
Input 01:
5
Output 01:
5
Input 02:
35
Output 02:
9227465
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
Tìm ước chung lớn nhất
Nộp bàiPoint: 1
Xây dựng chương trình nhập vào 2 số nguyên a và b từ bàn phím, hiển thị ra màn hình ước chung lớn nhất của 2 số đó.
Ràng buộc: ~1 \leq a, b \leq 10^4~
Input 01:
10 15
Output 01:
5
Input 02:
10 20
Output 02:
10
Tính a mũ x
Nộp bàiPoint: 1
Xây dựng chương trình tính A mũ X với A và X là số nguyên
Ràng buộc: ~0 \leq A \leq 1000~ ; ~0 \leq X \leq 6~
Input 01:
10 2
Output 01:
100
Input 02:
5 3
Output 02:
125
Đếm số lượng chữ số bằng đệ quy
Nộp bàiPoint: 1
Nhập N là số nguyên dương. Đếm số các chữ số có trong N bằng đệ quy (ví dụ số 1234 có 4 chữ số)
Ràng buộc: ~0 < N \leq 10^{18}~
Input 01:
1234
Output 01:
4
Input 02:
1000000000000000000
Output 02:
19
Kiểm tra xâu ký tự có đối xứng không bằng đệ quy
Nộp bàiPoint: 1
Nhập vào một xâu S, kiểm tra xem xâu S có đối xứng hay không bằng đệ quy. Nếu có đối xứng thì in ra YES, ngược lại in ra NO
Input 01:
madam
Output 01:
YES
Input 02:
100001
Output 02:
YES
Input 03:
abc
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
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
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ìm số đầu tiên
Nộp bàiPoint: 1
Sử dụng giải thuật đệ quy tìm chữ số đầu tiên của n.
Ví dụ:
Input:
12345
Output
1
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