Ôn luyện lớp 10 _ Lần 1
Điểm: 10
Cho ~n~ số dương. Đếm số lượng số có chữ số 6 trong ~n~ số đã cho
Input:
- Dòng 1 ghi số nguyên dương ~n~ (~1 \le n \le 10^5~)
- Dòng 2 ghi ~n~ số nguyên dương ~a_i~(~1 \le a_i \le 10^9~)
Output:
Ghi ra một dòng là kết quả tìm được
Ví dụ:
so6.inp
4
15 16 20 26
so6.out
2
Điểm: 10
Cho hai số nguyên a, b. Ta định nghĩa nếu a chia hết cho b thì b được gọi là ước của a.
Ví dụ: 3 là ước của 6 vì 6 chia hết cho 3.
Yêu cầu
Cho một dãy gồm n số nguyên ~a_1, a_2, \dots, a_n~ và một số nguyên x. Viết chương trình tính tổng các số là ước của số nguyên x ở trong dãy số đã cho.
Input:
- Dòng 1 ghi số nguyên dương ~n~ (~n \le 10^5~) và số nguyên ~x~ (~x < 10^9~)
- Dòng 2 ghi ~n~ số nguyên 32 bit cách nhau một dấu cách trống
Output:
Ghi ra một dòng là kết quả tìm được
Ví dụ:
sumuoc.inp
6 10
2 4 1 3 5 2
sumuoc.out
10
Điểm: 10
Cho một số nguyên dương ~n~, hãy viết chương trình in ra số chính phương nhỏ nhất lớn hơn ~n~.
Input:
- Một dòng duy nhất ghi số nguyên dương ~n~ (~1 \le n \le 10^{18}~)
Output:
Ghi ra số chính phương nhỏ nhất lớn hơn ~n~
Ví dụ:
scp.inp
10
scp.out
16
Điểm: 10
Cho ~n~ số nguyên dương, hãy viết chương trình đếm các số chính phương.
Input:
- Dòng 1 ghi số nguyên ~n~ (~n \le 10^5~)
- Dòng 2 ghi ~n~ số nguyên dương ~a_i~ (~a_i < 10^9~)
Output:
Ghi ra số lượng số chính phương
Ví dụ:
countcp.inp
5
5 4 9 10 16
countcp.out
3
Điểm: 10
Cho ~n~ số nguyên dương, hãy viết chương trình tìm phần tử có tổng chữ số lớn nhất của ~n~ số đã cho.
Input:
- Dòng 1 ghi số nguyên ~n~ (~n \le 10^5~)
- Dòng 2 ghi ~n~ số nguyên dương ~a_i~ (~a_i \le 10^{18}~)
Output:
Ghi ra số có tổng chữ số lớn nhất (Nếu có nhiều số có tổng chữ số bằng nhau thì in ra số đầu tiên)
Ví dụ:
sumcsmax.inp
5
2 3 3 66 54
sumcsmax.out
66
Điểm: 10
Cho một dãy số nguyên gồm N phần tử không âm ~a_1, a_2, \dots, a_N~. K được gọi là số tiêu chuẩn nếu trong dãy A có ít nhất K số không nhỏ hơn K.
Input:
- Dòng 1 ghi số nguyên ~N~ (~N \le 1000~)
- Dòng 2 ghi ~N~ số nguyên ~a_i~ (~a_i \le 10^6~)
Output:
Ghi ra số tiêu chuẩn lớn nhất trong mảng A. Nếu không có số nào thì in ra 0.
Ví dụ:
sotc.inp
5
3 4 7 6 7
sotc.out
4
Điểm: 10
Cho một dãy số nguyên gồm N phần tử không âm ~A_1, A_2, \dots, A_N~. K được gọi là số tiêu chuẩn nếu trong dãy A có ít nhất K số không nhỏ hơn K.
Input:
- Dòng 1 ghi số nguyên ~N~ (~N \le 10^5~)
- Dòng 2 ghi ~N~ số nguyên ~A_i~ (~A_i \le 10^6~)
Output:
Ghi ra số tiêu chuẩn lớn nhất trong mảng A. Nếu không có số nào thì in ra 0.
Ví dụ:
sotc2.inp
5
3 4 7 6 7
sotc2.out
4
Điểm: 10
Cho ~n~ số nguyên dương, hãy viết chương trình in ra số chính phương lớn nhất trong ~n~ số nguyên đã cho.
Input:
- Dòng 1 ghi số nguyên ~n~ (~n \le 10^5~)
- Dòng 2 ghi ~n~ số nguyên dương ~a_i~ (~a_i < 10^9~)
Output:
Ghi ra số chính phương lớn nhất có trong dãy, nếu không có số nào thì in ra -1
Ví dụ:
cpmax.inp
6
13 45 67 29 16 25
cpmax.out
25
Điểm: 10
Mô tả
Cho một xâu. Kiểm tra xem xâu đó có đối xứng hay không (không phân biệt kí tự in hoa hay in thường).
Yêu cầu
Nếu xâu đối xứng ghi YES, ngược lại ghi NO.
Input
- Một dòng duy nhất chứa xâu
s(1 ≤ |s| ≤ 10^6), chỉ gồm các ký tự chữ cái in hoa và in thường.
Output
- In ra
YEShoặcNO.
Ví dụ
| xaudx.inp | xaudx.out |
|---|---|
| ababaBA | YES |
| abbaa | NO |
Ghi chú
- Không phân biệt chữ hoa và chữ thường.
- Xâu rỗng được coi là xâu đối xứng.
Điểm: 10

Bài: Thống kê độ tuổi
Mô tả
An đang thực hiện thu thập độ tuổi của tất cả người dân trong một làng nọ. Sau khi thu thập xong, An muốn biết trong ngôi làng này, hiện tại có bao nhiêu độ tuổi khác nhau.
Yêu cầu
Viết chương trình nhập vào một mảng gồm n số nguyên, được đánh số từ 1 đến n là số tuổi hiện tại của n người dân. Hãy đếm xem có bao nhiêu độ tuổi khác nhau của người dân ở trong làng đó.
Input
- Dòng 1: số nguyên
n(0 < n < 10⁶) - Dòng 2:
nsố nguyêna₁, a₂, ..., aₙlà độ tuổi của mỗi người dân trong làng (0 ≤ aᵢ ≤ 120)
Output
- Một số nguyên là số lượng các độ tuổi khác nhau của người dân.
Ví dụ
| tktuoi.inp | tktuoi.out |
|---|---|
| 5 1 23 56 1 23 |
3 |
Giải thích: có 3 độ tuổi khác nhau là: 1, 23, 56.
Ràng buộc
- 50% số test có
n ≤ 10⁴ - 50% số test còn lại có
n ≤ 10⁶
Điểm: 10
Mô tả
Nhập vào một số nguyên dương n không quá 100 chữ số.
Yêu cầu
Hãy xác định xem số đó có chia hết cho 3 hay không.
- Nếu chia hết, in ra
YES - Ngược lại, in ra
NO
Input
- Gồm một dòng chứa số nguyên dương
n(độ dài không quá 100 chữ số).
Output
- In ra
YEShoặcNO.
Ví dụ
| xaudiv3.inp | xaudiv3.out |
|---|---|
| 12345678910111213141516 | NO |
| 12345678910111213141517 | YES |
Điểm: 10
Mô tả
Cho một xâu. Kiểm tra xem xâu đó có đối xứng hay không (không phân biệt kí tự in hoa hay in thường).
Yêu cầu
Nếu xâu đối xứng ghi YES, ngược lại ghi NO.
Input
- Một dòng duy nhất chứa xâu
s(1 ≤ |s| ≤ 10^6), chỉ gồm các ký tự chữ cái in hoa và in thường.
Output
- In ra
YEShoặcNO.
Ví dụ
| xaudx.inp | xaudx.out |
|---|---|
| ababaBA | YES |
| abbaa | NO |
Ghi chú
- Không phân biệt chữ hoa và chữ thường.
- Xâu rỗng được coi là xâu đối xứng.
Điểm: 10
Cho một số nguyên dương ~N~, hãy viết chương trình tính tổng bình phương các chữ số trong ~N~.
Input:
- Một dòng duy nhất ghi số nguyên dương ~N~ (~N \le 10^9~)
Output:
Ghi ra tổng bình phương các chữ số trong ~N~
Ví dụ:
sumbp.inp
12
sumbp.out
5
Điểm: 10

Bài 7. Cho một xâu chỉ gồm các kí tự ngoặc '(' và ')'. Xâu s xác định một cách đặt ngoặc đúng, nếu thỏa mãn các điều kiện:
Số ngoặc mở bằng số ngoặc đóng.
Nếu duyệt từ trái sang phải, số lượng ngoặc mở luôn luôn lớn hơn hoặc bằng số ngoặc đóng.
Ví dụ: Xâu '(())(()())' là một xâu ngoặc đúng.
Xâu '())' là một xâu ngoặc sai.
Cho biết xâu đã cho có là một cách đặt ngoặc đúng, đúng ghi YES, ngược lại ghi NO.
Ví dụ:
| dayngoac.inp | dayngoac.out |
|---|---|
'(())()' |
YES |
'())(()' |
NO |
Có một hòn đảo rất đẹp, thu hút nhiều khách du lịch đến thăm. Trên đảo có ~n~ người thuộc nhiều bộ tộc sinh sống. Dân cư trên đảo rất thân thiện. Mỗi người thuộc một bộ tộc nào đó. Trong đoàn du lịch có một nhà nhân chủng học. Tranh thủ dịp may được ghé thăm đảo, ông không bỏ phí thời gian tiến hành khảo sát. Ông gặp từng người một trên đảo với một câu hỏi duy nhất: Trên đảo, bộ tộc của bạn có bao nhiêu người?. Từ kết quả khảo sát, ông đã xác định được số bộ tộc khác nhau tồn tại trên đảo.
Ví dụ: với ~n = 10~ và các câu trả lời là ~5,1,2,5,5,2,5,5,2,2~ ta có thể suy ra là trên đảo có ~4~ bộ tộc khác nhau.
Yêu cầu
- Cho ~n~ câu hỏi và các câu trả lời. Hãy xác định số bộ tộc trên đảo. Dữ liệu đảm bảo bài toán có nghiệm.
Input
- Dòng 1 chứa số nguyên ~n~ (~1 ≤ n ≤ 100000~)
- Mỗi dòng trong ~n~ dòng sau chứa một số nguyên, câu trả lời nhận được.
Output
- Một số nguyên là số bộ tộc trên đảo.
Sample Input
10
5 1 2 5 5 2 5 5 2 2
Sample Output
4

Điểm: 10
Đề bài
Ở siêu thị BigC có trò chơi đập ếch. Màn hình trò chơi là một bảng lưới ô vuông hình chữ nhật được chia thành ~M~ hàng và ~N~ cột. Trong mỗi ô của bảng có một chú ếch, trên lưng có in một số nguyên dương là số hiệu của chú ếch đó có giá trị ~\leq 10^5~.
Khi người chơi cầm búa đập vào chú ếch ở một ô nào đó trong bảng thì tất cả các chú ếch có cùng số hiệu sẽ biến mất (kể cả chú ếch bị đập) và người chơi sẽ nhận được số điểm bằng tổng số ếch đã bị biến mất.
Yêu cầu
Cho biết tổng số điểm lớn nhất mà người chơi có thể nhận được sau ~K~ lần đập.
Input
Dòng đầu tiên ghi 3 số nguyên dương ~M, N~ và ~K~. (~N, M \leq 1000~; ~1 \leq K \leq N \times M~).
~M~ dòng tiếp theo, dòng thứ ~i~ ghi ~N~ số tương ứng là số hiệu của các chú ếch ở hàng ~i~.
Output.
In ra kết quả bài toán.
Ví dụ
Sample Input
4 6 2
1 4 3 3 2 4
2 4 2 1 4 1
2 3 4 4 1 1
1 1 2 3 4 4
Sample ouput
15
Giải thích
Lần 1 đập ếch có số hiệu là 1 , đạt 7 điểm. Lần 2 đập ếch có số hiệu là 4 , đạt 8 điểm.
Điểm: 10
Yêu cầu:
Cho hai số nguyên dương A và B, hãy viết chương trình tính tổng các chữ số của A và B.
Input:
- Một dòng duy nhất ghi hai số nguyên dương ~A~ và ~B~ (~A, B < 10^{18}~), mỗi số cách nhau một dấu cách
Output:
- In ra tổng các chữ số của A và B
Ví dụ:
twocs.inp
123 56
twocs.out
17
Điểm: 10
Cho số tự nhiên ( N ). Hãy tính tổng các số nguyên tố nhỏ hơn hoặc bằng ( N ).
Input:
- Một dòng duy nhất ghi số nguyên dương ~N~ (~0 < N \le 10^4~)
Output:
- Ghi ra tổng các số nguyên tố nhỏ hơn hoặc bằng ~N~
Ví dụ:
sumnto.inp
12
sumnto.out
28
Điểm: 10
Đề bài
Viết chương trình nhập vào một ma trận có ~m~ hàng và ~n~ cột. In ra giá trị lớn nhất của từng hàng.
Input
- Dòng đầu tiên ghi hai số nguyên không âm ~m, n~ (~m, n \leq 200~).
- ~m~ dòng sau, mỗi dòng ghi ~n~ số nguyên cách nhau một dấu cách biểu diễn ma trận.
Output
In ra kết quả bài toán.
Ví dụ
Sample Input
3 2
3 6
2 1
7 0
Sample Output
6
2
7
Giới hạn
- Thời gian: 1s
- Bộ nhớ: 256MB
- ~m, n \leq 200~
Điểm: 10
Đề bài
Cho một số nguyên dương ~N~, hãy viết chương trình kiểm tra tính nguyên tố của tổng bình phương các chữ số trong ~N~.
Input
Một dòng duy nhất ghi số nguyên dương ~N~ ~(N \leq 10^{18})~.
Output
In ra "YES" nếu tổng bình phương các chữ số trong ~N~ là số nguyên tố, ngược lại in ra "NO".
Ví dụ
Sample Input
12
Sample Output
YES
Giới hạn
- Thời gian: 1s
- Bộ nhớ: 256MB
- ~1 \leq N \leq 10^{18}~
Ghi chú (nếu có)
Với ~N = 12~, ta có ~1^2 + 2^2 = 5~ và ~5~ là số nguyên tố nên in ra "YES".
Điểm: 10
Đề bài
Viết chương trình nhập vào một ma trận có ~m~ hàng và ~n~ cột. In ra giá trị lớn nhất của từng cột.
Input
- Dòng đầu tiên ghi hai số nguyên không âm ~m, n~ (~m, n \le 200~).
- ~m~ dòng sau, mỗi dòng ghi ~n~ số nguyên cách nhau một dấu cách biểu diễn ma trận.
Output
In ra kết quả bài toán.
Ví dụ
Sample Input
3 2
3 6
2 1
7 0
Sample Output
7
6
Điểm: 10
Bài 11. Tách số trong xâu
Cho xâu S gồm các chữ cái latin và chữ số. Tách và in ra các số trong xâu, mỗi số cách nhau một dấu cách.
Ví dụ:
tachso.inp:
Abc12nmh287nk
tachso.out:
12 287





