GIAO LƯU LẦN 1

Bộ đề bài

# Bài tập Điểm Thời gian: Giới hạn bộ nhớ
1 Rút gọn phân số 3 (p) 1.0s 100M
2 Sắp xếp dãy số không giảm 3 (p) 1.0s 100M
3 Tìm số nguyên tố 3 (p) 1.0s 100M
4 Đoạn số bằng nhau dài nhất 3 (p) 1.0s 100M
5 Sắp xếp các từ 3 (p) 1.0s 100M

1. Rút gọn phân số

Điểm: 3 (p) Thời gian: 1.0s Bộ nhớ: 100M Input: gl4.inp Output: gl4.out

Cho phân số a/b (a nguyên, b nguyên, ).

Yêu cầu:

Rút gọn phân số a/b để phân số a/b trở thành phân số tối giản.

Dữ liệu vào:

Cho từ tệp văn bản GL4.INP gồm

  • Dòng 1: Ghi số a
  • Dòng 2: Ghi số b.

Dữ liệu ra:

In kết quả tính được ra tệp văn bản GL4.OUT theo cấu trúc như sau:
- Dòng 1: Ghi tử số của phân số sau khi rút gọn.
- Dòng 2: Ghi mẫu số của phân số sau khi rút gọn.

Ví dụ:
input
6  
9
output
2  
3

2. Sắp xếp dãy số không giảm

Điểm: 3 (p) Thời gian: 1.0s Bộ nhớ: 100M Input: gl5.inp Output: gl5.out

Dãy số \(A_1; A_2; ...; A_k\) được gọi là dãy số không giảm nếu \(A_i \leq A_{i+1}\) (\(i = 1; 2; ...; k - 1\)).
Cho một dãy số gồm N số nguyên dương \(A_i\) (i = 1; 2; ...; N).

Yêu cầu:

Sắp xếp dãy số trên thành dãy số không giảm.

Dữ liệu vào:

Cho trong tệp GL5.INP số nguyên dương N là số lượng phần tử của dãy số như sau:

  • Dòng 1: đọc vào số N (\(N \leq 10^5\))
  • Dòng 2: đọc vào N số nguyên \(A_i\) (\(|A_i| \leq 10^9\)).

Dữ liệu ra:

  • Ghi vào tệp GL5.OUT dãy số sau khi đã được sắp xếp, các số được ghi cách nhau đúng một dấu cách.
Ví dụ:
input
5
7 7 8 4 9
output
4 7 7 8 9

3. Tìm số nguyên tố

Điểm: 3 (p) Thời gian: 1.0s Bộ nhớ: 100M Input: fso.inp Output: fso.out

Cho số nguyên dương N.

Yêu cầu:

Tìm số nguyên Q nhỏ nhất nhưng lớn hơn N thỏa mãn:

  • Q là số nguyên tố
  • Tổng các chữ số của Q cũng là số nguyên tố.

Dữ liệu vào:

Cho trong tệp văn bản FSO.INP gồm một số nguyên dương N

Kết quả:

Ghi ra tệp văn bản FSO.OUT theo cấu trúc:
- Dòng 1: Ghi số Q tìm được

Ví dụ
Input
5
Output
7

4. Đoạn số bằng nhau dài nhất

Điểm: 3 (p) Thời gian: 1.0s Bộ nhớ: 100M Input: dsbn.inp Output: dsbn.out

Dãy số A[i]; A[i+1]; ...; A[k] được gọi là đoạn số bằng nhau nếu A[i] = A[i+1] ( i = 1; 2; ...; k - 1).
Cho một dãy số gồm N số nguyên không âm A[i] (i = 1; 2; ...; N).

Yêu cầu:

Tìm đoạn số bằng nhau dài nhất trong dãy A

Dữ liệu vào:

Cho trong tệp văn bản DSBN.INP có cấu trúc:

  • Dòng 1: ghi số N (1 < N ≤ 60000 ) )
  • Dòng 2: ghi N số nguyên A[i] (0 ≤ A[i] ≤ 32000 ).

Dữ liệu ra:

Ghi ra tệp văn bản DSBN.OUT theo cấu trúc:

  • Dòng 1: Ghi độ dài đoạn số bằng nhau dài nhất tìm được
  • Dòng 2: Ghi ra đoạn số bằng nhau dài nhất, nếu có nhiều đoạn thì in ra đoạn cuối cùng tìm thấy, tính từ trái sang phải của dãy số A.
Ví dụ:
Input
6
7 7 8 4 7 9
Output
2
7 7

5. Sắp xếp các từ

Điểm: 3 (p) Thời gian: 1.0s Bộ nhớ: 100M Input: sxtu.inp Output: sxtu.out

Cho một xâu kí tự \(st\) có độ dài không quá \(10^4\) kí tự, được lấy từ tập \([‘a’..’z’]\) và dấu cách. Một từ thuộc xâu là các kí tự liền kề nhau không bao gồm dấu cách.

Yêu cầu

Đếm số lượng từ trong xâu và in ra các từ theo thứ tự ngược lại từ phải sang trái.

Dữ liệu vào

Cho trong tệp văn bản SXTU.INP gồm một dòng chứa xâu \(st\)

Dữ liệu ra

Ghi ra tệp văn bản SXTU.OUT theo cấu trúc như sau:

  • Dòng \(1\): Ghi số nguyên dương \(K\) là số lượng từ có trong xâu St
  • Dòng \(2\): Ghi các từ theo thứ tự ngược lại ban đầu, giữa mỗi từ chỉ có một kí tự trắng, trước từ đầu tiên không có kí tự trắng.
Ví dụ
Input
lap trinh tin hoc
Output
4
hoc tin trinh lap