| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| 1 | Chia quà (THTA Thanh Khê 2022) | 100 (p) | 5.0s | 512M |
| 2 | Tổng 3K (THTA Thanh Khê 2022) | 100 (p) | 1.0s | 512M |
| 3 | Màu chữ (THTA Thanh Khê 2022) | 100 (p) | 1.0s | 512M |
| 4 | Mật mã Caesar | 100 (p) | 1.0s | 256M |
Jack mua \(N\) cuốn sách và muốn chia đều cho \(M\) người bạn thân. Em hãy giúp Jack biết cần mua thêm ít nhất bao nhiêu cuốn sách nữa để có thể thực hiện được việc chia quà cho các bạn của mình đều nhau?
Test 1
20
5
0
Jack có \(20\) cuốn sách và chia cho \(5\) người bạn, mỗi người sẽ có \(4\) cuốn đều nhau.
Test 2
30
8
2
Jack có \(30\) cuốn sách và chia cho \(8\) người bạn, để mỗi người có số sách đều nhau thì Jack phải mua thêm ít nhất \(2\) cuốn.
Cho dãy số có dạng như sau: \(11, 14, 17, \ldots, 68, \ldots\)
Jack đố Oggy: khi nhập vào một số \(k\) bất kỳ (\(k>0\)) thì Oggy phải trả lời đúng tổng các số hạng thứ \(k\), \(k+1\) và \(k+2\) của dãy số trên.
Test 1
3
60
Dãy số: \(11, 14, 17, 20, 23, \ldots, 68, \ldots\).
Tổng: \(17+20+23=60\).
Jack viết dòng chữ TIN HOC TRE THANH KHE lặp lại nhiều lần thành dãy các kí tự liên tiếp như sau:
TINHOCTRETHANHKHETINHOCTRETHANHKHETIN…..
Sau đó Jack tô màu các chữ cái trong dãy theo thứ tự Blue, Red, White, Yellow, Blue, Red, White, Yellow,...
Yêu cầu: Nhập vào số nguyên dương \(k\) (\(k \geq 1\)), hãy in ra màn hình chữ cái thứ \(k\) và màu của kí tự đó trong dãy theo định dạng: Kí tự - Màu
Kí tự-MàuTest 1
5
O-Blue
Dãy: TINHOCTRETHANHKHETINHOCTRETHANHKHE…
Kí tự thứ \(5\) là O, màu thứ \(5\) (theo chu kỳ 4) là Blue.
Test 2
23
C-White
Dãy: TINHOCTRETHANHKHETINHOCTRETHANHKHE…
Kí tự thứ \(23\) là C, màu thứ \(23\) (theo chu kỳ 4) là White.
Trong mật mã học, Mật mã Caesar (hay còn được gọi là Mật mã của Caesar, Mật mã chuyển vị, Mã của Caesar hay Chuyển vị Caesar) là một trong những kỹ thuật mã hóa đơn giản và phổ biến nhất. Đây là một dạng mật mã thay thế, trong đó mỗi ký tự trên văn bản thô sẽ được thay bằng một ký tự khác, có vị trí cách nó một khoảng xác định trong bảng chữ cái. Ví dụ, nếu dịch chuyển sang trái 3 bước, \(D\) sẽ trở thành \(A\), \(E\) sẽ trở thành \(B\), v.v..
Để mã hóa, người ta sẽ chọn ra một khóa \(k\): chính là số bước dịch chuyển sang phải. VD với \(k = 4\) thì ta có bảng chuyển đổi sau
Để mã hóa, ta thay chữ cái ở dòng trên bằng chữ cái ở vị trí tương ứng ở dòng dưới.
Yêu cầu: Cho trước khóa \(k\) và xâu tin nhắn, hãy mã hóa theo quy luật trên.
Input
2
ACCEPTED
Output
CEEGRVGF
Lưu ý
Với dấu cách, ta giữ nguyên chứ không mã hóa nó.
Chú thích: một số hình minh họa khác:
Vòng bên ngoài là kí tự gốc, vòng bên trong là kí tự đã được mã hóa, còn số ghi ở giữa chính là khoảng cách dịch chuyển.