Kiểm tra - 3
Phép tính dễ
Nộp bàiNhập vào 3 số \(A\), \(B\), \(C\). In ra \((A - B) \times C\).
Input
- Dòng đầu tiên chứa \(3\) số nguyên dương \(A\), \(B\), \(C\) cách nhau một dấu cách (\(A\), \(B\), \(C \leq 100\)).
Output
- In ra \(1\) số nguyên là đáp án.
Example
Test 1
Input
10 1 3
Output
27
Lowercase
Nộp bàiNhập vào chữ hoa, in ra chữ cái thường tương ứng.
Input
Một kí tự duy nhất là chữ cái hoa.
Output
- In ra ký tự thích hợp.
Example
Test 1
Input
A
Output
a
Tổng lập phương
Nộp bàiNhập vào \(2\) số thực \(a, b\). In ra tổng \(a^3 + b^3\).
Input
- Dòng đầu tiên chứa duy nhất \(2\) số thực \(a, b\). (\(|a|, |b| \leq 100\)).
Output
- In ra một số thực là tổng lập phương của \(2\) số \(a\) và \(b\). Kết quả làm tròn đến chữ số thập phân thứ \(2\).
Example
Test 1
Input
4.5 3.2
Output
123.89
Sắp xếp
Nộp bàiNhập vào \(3\) số. Sắp xếp lại \(3\) số đã cho.
Input
- Dòng đầu tiên chứa duy nhất \(3\) số nguyên dương \(a, b, c\) (\(a, b, c \leq 10000\)).
Output
- In ra \(3\) số số theo thứ tự tăng dần.
Sample Test
Input:
5 3 4
Output:
3 4 5
Số chính phương
Nộp bàiKiểm tra \(1\) số có phải số chính phương hay không?
Input
- Chứa duy nhất một số nguyên \(N\) (\(0 \leq N \leq 10^5\)).
Output
- In ra
YESnếu là số chính phương, in raNOnếu ngược lại.
Sample Test
Input:
5
Output:
NO
Bốn lần xuất hiện
Nộp bàiCho \(5\) số. In ra YES nếu có đúng \(4\) số có cùng tính chẵn lẻ, in ra NO nếu ngược lại.
Input
- Dòng đầu tiên chứa \(5\) số nguyên. (nằm trong khoảng
int)
Output
- In ra kết quả thỏa mãn đề bài.
Sample Test
Input:
1 1 1 1 2
Output:
YES
Số số hạng
Nộp bàiNhập vào số \(N\), in ra số các số dương nhỏ hơn hoặc bằng \(N\) và lớn hơn \((N - 1)/2\).
Input
- Dòng đầu tiên chứa duy nhất một số nguyên dương \(N\) (\(N \leq 50\)).
Output
- In ra số nguyên thỏa mãn đề bài.
Sample Test
Input:
9
Output:
5
Số chẵn
Nộp bàiĐọc vào một dãy số, in ra tất cả các số trong dãy cho đến trước số chẵn thứ \(x\).
Input
- Dòng đầu tiên chứa số nguyên dương \(N\) (\(1 \leq N \leq 10^4\)).
- Dòng thứ hai chứa \(N\) số nguyên dương \(a_i\) (\(1 \leq a_i \leq 10000\)).
- Dòng cuối chứa số nguyên \(x\) (\(x\) có thể lớn hơn số số chẵn trong dãy).
Output
- In ra tất cả các số trước số chẵn thứ \(x\) trong dãy trên một dòng, các số cách nhau bởi dấu cách.
Sample Test
Input:
5
1 2 3 4 5
2
Output:
1 2 3
ezarr10
Nộp bàiNhập vào dãy \(N\) phần tử và số nguyên \(x\). Tính tổng tất cả các phần tử trong mảng, ngoại trừ phần tử tại vị trí \(x\).
Input
- Dòng đầu tiên chứa số nguyên dương \(N\) (\(1 \leq N \leq 10^5\)).
- Dòng tiếp theo chứa \(N\) số nguyên \(a_1, a_2, a_3, \ldots, a_N\) (\(|a_i| \leq 10^9\)).
- Dòng cuối chứa số nguyên \(x\) (\(1 \leq x \leq 10^5\))
Output
- In ra tổng cần tìm.
Example
Test 1
Input
6
4 1 2 0 0 5
3
Output
10
ezarr11
Nộp bàiNhập vào dãy \(N\) phần tử và số nguyên \(x\). Kiểm tra xem số nguyên \(x\) xuất hiện trong dãy vừa nhập hay không, nếu có in ra YES, ngược lại in ra NO.
Input
- Dòng đầu tiên chứa số nguyên dương \(N\) và số nguyên \(x\) (\(1 \leq N \leq 10^5\), \(|x| \leq 10^9\)).
- Dòng tiếp theo chứa \(N\) số nguyên \(a_i\) (\(|a_i| \leq 10^9\)).
Output
- In ra
YESnếu số nguyên \(x\) xuất hiện trong dãy nhập, ngược lại in raNO.
Example
Test 1
Input
6 3
4 1 2 0 0 5
Output
NO
Đếm số từ
Nộp bàiNhập vào xâu \(S\). Đếm số từ trong xâu.
Input
- Dòng đầu tiên chứa duy nhất xâu \(S\) (\(0 < |S| < 225\))
Output
- In ra số từ trong xâu.
Sample Test
Input:
Dinh Ngoc Tuyen
Output:
3
Mật mã 1
Nộp bàiMật mã TDZ có một quy tắc rất đơn giản: \(1 → a\), \(2 → b\), \(3 → c\), ... \(26 → z.\)
Lưu ý: Dấu cách sẽ được biểu diễn bằng số \(27\).
Input
- Dòng thứ nhất chứa số nguyên \(N\) - độ dài xâu (\(0 < N \leq 10^4\)).
- Dòng thứ hai là xâu \(S\) viết dưới dạng các số, mỗi số cách nhau \(1\) dấu cách.
Output
- In ra xâu \(S\) được giải mã.
Sample Test
Input:
19
18 5 22 5 18 19 5 27 20 8 5 27 3 9 16 8 5 18 19
Output:
reverse the ciphers
Mật mã 2
Nộp bàiTiếp tục series mật mã. Mật mã ZDT có quy tắc như sau: \(z → a\), \(y → b\), \(x → c\), ... \(a → z\)
Nhập vào xâu \(S\). In ra xâu \(S\) sau khi giải mã.
Input
- Nhập vào xâu \(S\) (\(0 < |S| < 225\))
Output
- In ra xâu \(S\) được giải mã.
Sample Test
Input:
gsv rmerhryov draziw rh dzgxsrmt
Output:
the invisible wizard is watching
Số tròn chục
Nộp bàiCho hai số nguyên dương \(L\) và \(R\). Số tròn chục là số chia hết cho \(10\).
Yêu cầu:
Đếm xem có bao nhiêu số nguyên dương tròn chục lớn hơn \(L\) và nhỏ hơn \(R\).
Input
- Dòng đầu tiên chứa số nguyên dương \(L\);
- Dòng thứ hai chứa số nguyên dương \(R\).
\((0 < L < R < 10^{18})\)
Output
- In ra một số nguyên duy nhất là số lượng số thoả mãn yêu cầu đề bài.
Subtasks
- Subtask 1 (\(60\%\) số điểm): \(R \leq 10^6\)
- Subtask 2 (\(20\%\) số điểm): \(R \leq 10^9\)
- Subtask 3 (\(20\%\) số điểm): Không có ràng buộc gì thêm.
Sample Test
Input
5
30
Output
2
Note
Có \(2\) số tròn chục nằm giữa \(5\) và \(30\) là: \(10\), \(20\).
PA069
Nộp bàiĐể tiếp tục nâng cao trải nghiệm cho người dùng, nhà mạng HNOJ tiếp tục xây dựng dịch vụ kiểm tra số dư tài khoản chỉ với một nút gửi.
Bạn vừa gửi yêu cầu kiểm tra tài khoản và nhận được thông báo, hãy tính số tin nhắn bạn còn có thể gửi được với số dư hiện tại, với chi phí cho mỗi tin nhắn cơ sở vẫn giữ là \(3\) dogecoin.
Input
Gồm một xâu có dạng:
So du tai khoan:
xdogecoin
Với x là số dư hiện tại của người dùng (\(x\) nguyên dương, \(|x| \leq 3000\)).
Output
In ra số lượng tin nhắn cơ sở bạn có thể gửi được với số dư x.
Sample Test
Input:
So du tai khoan: 200 dogecoin
Output:
66
PA060
Nộp bàiCho một số nguyên dương \(n\). Hãy liệt kê tất cả số nguyên tố nhỏ hơn hoặc bằng \(n\).
Input
Gồm một số nguyên dương \(n\) duy nhất (\(2 \leq n \leq 10^5\)).
Output
In ra tất cả các số nguyên tố không vượt quá \(n\) theo thứ tự tăng dần trên cùng một dòng.
Sample Test
Input:
14
Output:
2 3 5 7 11 13
PA067
Nộp bàiCho hai xâu \(S\) và \(T\), hãy kiểm tra xem \(T\) có phải là một xâu con liên tiếp của \(S\) hay không.
Input
- Gồm hai dòng, dòng thứ nhất chứa xâu \(S\) và dòng thứ hai chứa xâu \(T\). Độ dài các xâu không vượt quá \(100\) ký tự.
Output
- In ra
YESnếu \(T\) là xâu con liên tiếp của \(S\), ngược lại in raNO.
Sample Test
Test 1
Input
abba
ab
Output
YES
PA081
Nộp bàiTDZ đang học về ước chung lớn nhất (UCLN). Nhưng khi nghe đến thứ gọi là "ước nguyên tố" thì TDZ đang rất mơ hồ vì cậu không nắm vững kiến thức về số nguyên tố. Vì vậy, TDZ nhờ bạn giải giúp bài tập này để thông não ra một tí:
Cho \(n\) số nguyên dương, hãy:
- Đếm số lượng số nguyên tố trong \(n\) số này.
- Tìm UCLN của \(n\) số này.
Input
- Dòng thứ nhất gồm một số nguyên dương \(n\) (\(n \leq 10^5\)).
- Dòng thứ hai gồm \(n\) số nguyên dương có giá trị không vượt quá \(10^5\).
Output
- Dòng thứ nhất in ra số lượng số nguyên tố trong \(n\) số.
- Dòng thứ hai in ra UCLN của \(n\) số.
Sample Test
Test 1
Input
5
3 6 2 9 5
Output
3
1
Test 2
Input
4
4 8 10 6
Output
0
2
Note
- Test 1: Có 3 số nguyên tố là 3, 2, 5. UCLN(3, 6, 2, 9, 5) = 1
- Test 2: Không có số nguyên tố nào. UCLN(4, 8, 10, 6) = 2
PA056_1
Nộp bàiCho số nguyên dương \(N\).
Yêu cầu: Tính giá trị của:
\(S = \sum_{i=1}^{N}\dfrac{1}{i \times (i+1)}\)
Input
- Một dòng duy nhất chứa số nguyên dương \(N \ (N \le 10^9)\).
Output
- In ra kết quả cần tìm. Kết quả được coi là đúng nếu sai số không vượt quá \(10^{-18}\).
Sample Test
Test 1
Input
5
Output
0.833333333333333333
Note
\(S = \dfrac{1}{1 \times 2} + \dfrac{1}{2 \times 3} + \dfrac{1}{3 \times 4} + \dfrac{1}{4 \times 5} + \dfrac{1}{5 \times 6} = \dfrac{5}{6} = 0.8(3)\).
PA059
Nộp bàiCho \(n\) số nguyên dương. Hãy đưa ra ước chung lớn nhất của \(n\) số đó.
Input
- Dòng thứ nhất chứa số nguyên dương \(n\) (\(n \leq 1000\)).
- Dòng thứ hai chứa \(n\) số nguyên dương không vượt quá \(10^6\).
Output
In ra ước chung lớn nhất của \(n\) số.
Sample Test 1
Input:
4
2 4 6 8
Output:
2
Sample Test 2
Input:
4
1 2 4 5
Output:
1
PA061
Nộp bàiMột cặp số sinh đôi là hai số nguyên tố có khoảng cách là 2 đơn vị. Cho một số nguyên dương \(n\), hãy đưa ra số lượng các cặp số sinh đôi khác nhau mà các số đều không vượt quá \(n\).
Hai cặp số sinh đôi được gọi là khác nhau nếu chúng không phải hoán vị của nhau, hay nói cách khác tồn tại ít nhất một số chỉ thuộc một cặp duy nhất. Ví dụ:
- \((3, 5)\), \((5, 7)\) là hai cặp số sinh đôi khác nhau.
- \((3, 5)\), \((5, 3)\) không là hai cặp số sinh đôi khác nhau.
Input
- Gồm một số nguyên dương \(n\) duy nhất (\(n \leq 1000\)).
Output
- In ra số lượng các cặp số sinh đôi theo yêu cầu đề bài.
Sample Test
Test 1
Input
7
Output
2
Note
- Hai cặp số thoả mãn là \((3, 5)\) và \((5, 7)\).
PA062
Nộp bàiCho một số nguyên dương chẵn \(n\). Hãy liệt kê tất cả các cách phân tích \(n\) thành tổng của hai số \(a\) và \(b\) sao cho:
Input
- Gồm một số nguyên dương chẵn \(n\) duy nhất (\(n \leq 1000\)).
Output
- Dòng thứ nhất chứa số \(k\) - số lượng cách phân tích khác nhau.
- \(k\) dòng tiếp theo, mỗi dòng chứa hai số \(a\) và \(b\) thoả mãn yêu cầu đề bài. Các cặp số \((a, b)\) có thể được in theo thứ tự bất kì.
Sample Test
Test 1
Input
10
Output
2
3 7
5 5
Test 1
Input
18
Output
2
7 11
5 13
Sắp xếp drone
Nộp bàiNam có \(n\) drone, mỗi drone thuộc một trong hai loại: loại 1 và loại 2.
Sau một buổi trình diễn, Nam tập hợp lại và xếp thành một dãy \(s_1, s_2, \dots, s_n\), trong đó \(s_i = 1\) hoặc \(s_i = 2\) cho biết drone thứ \(i\) thuộc loại 1 hoặc loại 2.
Nam muốn sắp xếp lại dãy drone để loại 1 xếp trước loại 2 chỉ bằng các thao tác đổi chỗ hai drone cho nhau.
Cụ thể, mỗi lượt Nam có thể tráo đổi drone ở vị trí \(i\) (\(1 \leq i \leq n\)) với drone ở vị trí \(j\) (\(1 \leq j \leq n\)).
Yêu cầu
Hãy tính số lượt đổi chỗ hai drone ít nhất cần thực hiện để tất cả các drone loại 1 xếp trước loại 2.
Dữ liệu nhập vào từ bàn phím
- Dòng đầu chứa số nguyên dương \(n\) (\(n \leq 10^5\)).
- Dòng thứ hai chứa \(n\) số nguyên \(s_1, s_2, \dots, s_n\) (\(1 \leq s_i \leq 2\)).
Kết quả ghi ra màn hình
- Một số nguyên duy nhất — số lần đổi chỗ ít nhất cần thực hiện.
Ràng buộc
- Subtask 1 (20% số điểm): \(n = 2\)
- Subtask 2 (40% số điểm): \(n \leq 5\)
- Subtask 3 (40% số điểm): Không có ràng buộc gì thêm
Ví dụ
Input
2
1 2
Output
0
Input
5
2 2 1 1 2
Output
2
Bò lạc
Nộp bàiPhú Ông có một đàn bò gồm \(n\) con, các con bò mang số hiệu từ \(1\) đến \(n\).
Bờm được Phú Ông giao nhiệm vụ, hàng ngày, thả bò ra và chiều tối lùa bò về chuồng.
Một hôm, do mải chơi nên Bờm đã để lạc mất 1 con bò.
Bờm rất lo lắng và muốn xác định số hiệu của con bò bị lạc để đăng tin tìm kiếm vì nếu không sẽ bị Phú Ông phạt nặng.
Đàn bò khá đông và Bờm chỉ nhớ, Bờm đã tính tổng số hiệu của các con bò còn lại là một số nguyên \(S\).
Yêu cầu
Cho hai số nguyên dương \(n\) và \(S\). Hãy giúp Bờm tìm ra số hiệu của con bò bị lạc.
Dữ liệu nhập vào từ bàn phím
- Gồm 2 số nguyên \(n, S\).
Kết quả ghi ra màn hình
- Một số nguyên duy nhất là số hiệu của con bò đi lạc.
Ví dụ
Input
5 12
Output
3
Giới hạn
- Subtask 1 (50% số điểm): \(n \leq 10^4\)
- Subtask 2 (50% số điểm): \(n \leq 10^9\)
Bò
Nộp bàiTrên khu đất rộng nhà Hoàng có \(n\) đống rơm, đó là thức ăn dự trữ cho chú bò vào mùa đông.
Mỗi đống rơm được biểu diễn là một hình tròn trên mặt phẳng tọa độ, đống rơm thứ \(i\) có tọa độ tâm là \((x_i, y_i)\) và bán kính \(r_i\).
Tại điểm \((a, b)\) có một cọc để cột chú bò. Vào mỗi buổi chiều tối hằng ngày, Hoàng cột chú bò của mình vào cọc bằng một sợi dây.
Nếu sợi dây có độ dài \(l\) thì chú bò có thể di chuyển trong vòng tròn tâm \((a, b)\) và bán kính \(l\).
Yêu cầu
Hãy tìm độ dài \(l\) nguyên lớn nhất sao cho chú bò không thể ăn rơm từ bất kỳ một đống rơm nào.
Chú ý rằng, chú bò có thể ăn rơm của đống thứ \(i\) nếu đường tròn tâm \((a, b)\) bán kính \(l\) và đường tròn tâm \((x_i, y_i)\) bán kính \(r_i\) có điểm chung.
Dữ liệu nhập vào từ bàn phím
- Dòng đầu chứa ba số nguyên \(n, a, b\) (\(|a|, |b| \leq 10^9\)).
- Dòng thứ \(i\) trong \(n\) dòng tiếp theo chứa ba số nguyên \(x_i, y_i, r_i\) (\(|x_i|, |y_i|, r_i \leq 10^9\)).
Kết quả ghi ra màn hình
- Một số nguyên duy nhất là giá trị \(l\) lớn nhất thỏa mãn.
Ví dụ
Input
1 0 0
0 9 3
Output
5
Giới hạn
- Có 50% số test với \(n = 1\).
- Có 50% số test còn lại với \(n \leq 100\).
Tìm số 3
Nộp bàiCho một số tự nhiên N, hãy tìm số tự nhiên lớn nhất nhỏ hơn N và chia hết cho 3.
Dữ liệu vào
- Một dòng duy nhất chứa số tự nhiên
N.
Dữ liệu ra
- In ra kết quả tìm được.
Ràng buộc
- \(1 \le N \le 1000\)
Ví dụ
| Input | Output |
|---|---|
10 |
9 |
6 |
3 |
Mật Mã Lặp
Nộp bàiAn là một nhà khoa học dữ liệu. Khi phân tích các chuỗi văn bản, anh nhận thấy một số chuỗi được tạo ra bằng cách lặp đi lặp lại một chuỗi con ngắn hơn. An đã nghĩ ra một phương pháp "rút gọn" để biểu diễn các chuỗi này một cách hiệu quả.
Cách rút gọn một chuỗi \(S\) được mô tả như sau:
- Tìm một chuỗi \(X\) ngắn nhất có thể.
- Tìm một số nguyên \(K\) sao cho khi viết chuỗi \(X\) lặp lại đúng \(K\) lần, ta sẽ thu được chuỗi \(S\) ban đầu.
- Kết quả rút gọn sẽ là chuỗi được ghép bởi \(K\) và \(X\).
Yêu cầu
Hãy viết chương trình giúp An tìm dạng rút gọn của một chuỗi \(S\) cho trước.
Dữ liệu vào
- Một dòng duy nhất chứa chuỗi \(S\) chỉ gồm các chữ cái Latinh in thường.
Kết quả ra
- In ra dạng rút gọn của chuỗi \(S\).
Ràng buộc
- Độ dài của chuỗi \(S\) không vượt quá 1000 ký tự.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
abababab |
4ab |
Chuỗi con lặp lại ngắn nhất là "ab". Lặp lại 4 lần sẽ tạo thành chuỗi ban đầu. |
aaa |
3a |
Chuỗi con lặp lại ngắn nhất là "a". Lặp lại 3 lần. |
abac |
1abac |
Không có chuỗi con nào ngắn hơn có thể lặp lại để tạo thành "abac". Vì vậy, chuỗi ngắn nhất chính là "abac", lặp lại 1 lần. |
Dãy LEGO Hoàn Hảo
Nộp bàiCho một dãy gồm n khối LEGO với chiều cao cho trước. Một dãy được coi là hoàn hảo nếu chiều cao của các khối không giảm khi xét từ trái sang phải (ví dụ: 1 1 2 3 3).
Bạn được phép thực hiện thao tác sau đúng một lần:
- Chọn một hoặc nhiều khối LEGO bất kỳ.
- Giảm chiều cao của mỗi khối đã chọn đi đúng 1 đơn vị.
Hỏi liệu có cách nào để biến dãy LEGO ban đầu thành một dãy hoàn hảo hay không?
Dữ liệu vào
- Dòng đầu tiên chứa số nguyên
n(\(1 \le n \le 10^5\)). - Dòng thứ hai chứa
nsố nguyên là chiều cao của các khối LEGO (\(1 \le H_i \le 10^9\)).
Dữ liệu ra
- In ra "Yes" nếu có thể tạo được dãy hoàn hảo, ngược lại in ra "No".
Ví dụ
| Input | Output |
|---|---|
5 1 2 1 1 2 |
Yes |
4 1 3 2 1 |
No |
Giải thích ví dụ 1:
Ta có thể chọn khối thứ hai (chiều cao 2) và giảm chiều cao của nó đi 1. Dãy mới sẽ là 1 1 1 1 2, là một dãy hoàn hảo.
mmseg
Nộp bàiCho một dãy gồm n số nguyên. Một đoạn con là một dãy các phần tử liền kề nhau trong dãy ban đầu.
Yêu cầu: Hãy tìm độ dài của đoạn con ngắn nhất chứa được cả giá trị lớn nhất và giá trị nhỏ nhất của toàn bộ dãy số.
Dữ liệu vào
- Dòng đầu tiên chứa số nguyên
n(\(1 \le n \le 10^5\)). - Dòng thứ hai chứa
nsố nguyên \(a_1, a_2, \dots, a_n\).
Dữ liệu ra
- In ra một số nguyên duy nhất là độ dài của đoạn con ngắn nhất tìm được.
Ví dụ
| Input | Output |
|---|---|
8 1 3 6 2 8 1 3 8 |
2 |
Giải thích:
- Trong dãy số đã cho, giá trị nhỏ nhất là
1và giá trị lớn nhất là8. - Có nhiều đoạn con chứa cả
1và8, ví dụ:[1, 3, 6, 2, 8](dài 5)[8, 1](dài 2)[1, 3, 8](dài 3)
- Trong số đó, đoạn con
[8, 1]là ngắn nhất với độ dài là 2.