BÀI TẬP HSG 9
💥 Tên bài: Số siêu nguyên tố
Một số nguyên dương n được gọi là số siêu nguyên tố nếu:
- n là số nguyên tố, và
- Khi lần lượt bỏ bớt từng chữ số tận cùng bên phải (tạo ra các số mới), tất cả các số tạo thành cũng là số nguyên tố.
🔍 Ví dụ:
- 317 là số siêu nguyên tố vì:
- 317 là nguyên tố
- 31 là nguyên tố
- 3 là nguyên tố
- 61 không là số siêu nguyên tố vì:
- 61 là nguyên tố
- nhưng 6 không phải là nguyên tố
📥 Input:
- Một dòng duy nhất chứa số nguyên dương n (1 < n < ~10^6~)
📤 Output:
- In ra PHAI nếu n là số siêu nguyên tố
- In ra KHONG nếu n không phải là số siêu nguyên tố
📌 Ví dụ Input 1:
317
📌 Ví dụ Output 1:
PHAI
📌 Ví dụ Input 2:
61
📌 Ví dụ Output 2:
KHONG
Đề bài:
Một số nguyên tố ~ p ~ được gọi là nguyên tố đối xứng nếu khi đảo ngược chữ số của ~ p ~, ta vẫn thu được một số nguyên tố.
Ví dụ:
- 79 → đảo ngược thành 97 → đều là số nguyên tố
- 13 → đảo ngược thành 31 → đều là số nguyên tố
Yêu cầu: Liệt kê tất cả các số nguyên tố đối xứng trong khoảng từ 1 đến ~ n ~ theo thứ tự tăng dần.
Input:
- Một số nguyên dương ~ n ~ (~ 1 \le n \le 1{,}000{,}000 ~).
Output:
- In ra các số nguyên tố đối xứng tìm được, theo thứ tự tăng dần, các số cách nhau bởi dấu cách.
Ví dụ
Input
100
Output
2 3 5 7 11 13 17 31 37 71 73 79 97
Tên bài: ROBOTCHAR - Robot nhặt ký tự
Đề bài:
Một con robot di chuyển từ trái sang phải trên một xâu ký tự S (chỉ gồm các chữ cái in hoa). Mỗi khi gặp một ký tự, robot sẽ nhặt ký tự đó nếu nó chưa từng nhặt trước đó.
Nhiệm vụ của bạn là tính số lượng ký tự không lặp dài nhất mà robot nhặt được trên đoạn liên tiếp
Input:
- Một dòng duy nhất chứa chuỗi S (1 ≤ |S| ≤ ~10^4~, chỉ gồm ký tự in hoa).
Output:
- Một số nguyên duy nhất là Số lượng ký tự không lặp dài nhất mà robot nhặt được trên đoạn liên tiếp.
Ví dụ:
Input:
ABACDE
Output:
5
Input:
ACDACBCAD
Output:
5
Tên bài: Tổng các số tự nhiên liên tiếp
Đề bài
Cho số nguyên dương ~ n ~, tìm số nguyên dương ~ k ~ lớn nhất sao cho:
~ S_k = 1 + 2 + 3 + \dots + k \leq n ~
Dữ liệu vào
- Dòng đầu ghi số nguyên dương ~ T ~ là số bộ test.
- ~ T ~ dòng tiếp theo, mỗi dòng chứa một số nguyên dương ~ n ~.
Dữ liệu ra
- Với mỗi bộ test, ghi ra trên một dòng số nguyên dương ~ k ~ mà ~ S_k \leq n ~.
Input mẫu
2
1
17
Output mẫu
1
5
Giới hạn
- sub1: ~ 1 \leq T \leq 10^3 ~, - ~ 1 \leq n \leq 10^3 ~
- sub2: ~ 1 \leq T \leq 10^3 ~, - ~ 1 \leq n \leq 10^8 ~
- Sub3: ~ 1 \leq T \leq 10^6 ~, ~ 1 \leq n \leq 10^{12} ~
Bài toán: Đếm số dãy con có tổng bằng 0
Mô tả:
Trong tiết học hôm nay, thầy Alex giảng về các dãy số có tổng các phần tử bằng ~0~. Để giúp Bob - học sinh xuất sắc nhất lớp, thầy đưa ra bài toán:
Cho một dãy số nguyên ~A~ gồm ~N~ phần tử, hãy tính số lượng dãy con liên tiếp khác rỗng của ~A~ mà tổng các phần tử bằng ~0~.
- Một dãy con liên tiếp được coi là khác nhau nếu chúng có ít nhất một vị trí khác biệt.
Input:
- Dòng thứ nhất ghi số nguyên dương ~N~ là số lượng phần tử trong dãy ~A~ ~(1 \leq N \leq 2 \times 10^5)~.
- Dòng thứ hai chứa ~N~ số nguyên ~A_1, A_2, \dots, A_N~ ~(-10^9 \leq A_i \leq 10^9)~.
Output:
- In ra một số nguyên là số lượng các dãy con liên tiếp khác rỗng có tổng bằng ~0~.
Ràng buộc:
- ~1 \leq N \leq 2 \times 10^5~.
- ~-10^9 \leq A_i \leq 10^9~.
- Tất cả dữ liệu đều là số nguyên.
Ví dụ:
Input:
6
-6 0 1 2 3 -6
Output:
4
Giải thích:
- Các dãy con liên tiếp có tổng bằng ~0~ là:
- ~[-6, 0, 1, 2, 3, -6]~,
- ~[0]~,
- ~[1, 2, 3, -6]~,
- ~[-6, 0, 1, 2, 3]~.