NĂM HỌC 2022 - 2023ĐỀ CHÍNH THỨC Đề thi gồm có 03 trang Thời gian: 150 phút Không kể thời gian phát đề TỔNG QUAN BÀI THI Thí sinh lập trình trên máy tính Tên bài Tên tệp chương trìn
Trang 1NĂM HỌC 2022 - 2023
ĐỀ CHÍNH THỨC
(Đề thi gồm có 03 trang
Thời gian: 150 phút (Không kể thời gian phát đề)
TỔNG QUAN BÀI THI
Thí sinh lập trình trên máy tính
Tên bài Tên tệp
chương trình
Tên tệp
dữ liệu vào
Tên tệp kết quả
Giới hạn thời gian
Câu 1: Siêu nguyên tố SPRIME.* SPRIME.INP SPRIME.OUT 1 giây/ 1 test Câu 2: Ước số THREE.* THREE.INP THREE.OUT 1 giây/ 1 test Câu 3: Xuất hiện BSET.* BSET.INP BSET.OUT 1 giây/ 1 test Câu 4: Phân tích số ADDPRIME.* ADDPRIME.INP ADDPRIME.OUT 1 giây/ 1 test
Yêu cầu thí sinh đọc kỹ hướng dẫn dưới đây:
Dấu * được thay thế bởi PAS hoặc CPP của ngôn ngữ lập trình được sử dụng tương ứng là Pascal hoặc C++
Chương trình chỉ in kết quả theo yêu cầu đề bài, không in bất kỳ thông tin nào khác
Đối với các bài tập đọc và in dữ liệu từ file văn bản, tên các file này phải đặt đúng theo yêu cầu đề bài, không có đường dẫn phía trước
Viết chương trình giải các bài toán sau:
Câu 1: (5,0 điểm) Siêu nguyên tố
Một số tự nhiên N được gọi là siêu nguyên tố nếu bản thân nó là một số nguyên tố
và tất cả các số thu được bằng cách xóa lần lượt các chữ số bên phải của nó đều là số nguyên tố Ví dụ:
Số 317 là một số siêu nguyên tố vì: 317 là số nguyên tố
Xóa 1 chữ số bên phải: 31 là số nguyên tố
Xóa 2 chữ số bên phải: 3 là số nguyên tố
Cho 2 số nguyên a, b Hãy liệt kê tất cả các số siêu nguyên tố thuộc đoạn [a, b]
Input: Cho tệp SPRIME.INP gồm:
- Một dòng ghi 2 số nguyên dương a, b (0<a,b <107)
Output: Ghi vào tệp SPRIME.OUT:
Liệt kê theo thứ tự tăng các số siêu nguyên tố thuộc đoạn [a, b], mỗi số trên
một dòng, hoặc ghi “NO” trong trường hợp không có số nào thuộc đoạn đó
Ví dụ:
5
7
23
Trang 2- Có 08/10 test, tương ứng 4.0 điểm với 0≤b-a ≤ 10 6 ;
- Có 02/10 test, tương ứng 1.0 điểm với 10 6 < b-a < 10 7
Câu 2: (7,0 điểm) Ước số
Một số nguyên dương có đúng 3 ước số nguyên dương khác nhau được gọi là
số THREE Cho trước một dãy N (1 <= N <= 105) số nguyên dương, xác định các số đã cho có phải là số THREE hay không?
Input: Cho trong tệp THREE.INP có cấu trúc như sau:
- Dòng đầu tiên ghi số N
- Dòng tiếp theo ghi N số nguyên a1, a2 an cách nhau bởi một dấu cách (1 ≤ ai ≤
1012)
Output: Ghi ra tệp THREE.OUT gồm N dòng, dòng thứ i ghi YES nếu số thứ i là số
THREE, ngược lại thì ghi NO
Ví dụ:
3
4 5 6
YES
NO
NO
Giới hạn:
- Có 08/10 test, tương ứng 5.6 điểm với n <10 4 và a i ≤10 9 ;
- Có 02/10 test, tương ứng 1.4 điểm với 10 4 <n ≤10 5 và a i ≤10 12 ;
Câu 3: (5 điểm) Xuất hiện
Cho tập hợp A gồm n phần tử là a 1 , a 2 , …, a n , và tập hợp B gồm m phần tử là
b 1 , b 2 , …, b m
Nhiệm vụ của bạn là hãy tìm số lượng của 2 tập hợp:
- Tập hợp thứ nhất là hợp của hai tập hợp A và B
- Tập hợp thứ hai là giao của hai tập hợp A và B
Input: Cho tệp BSET.INP gồm:
- Dòng đầu tiên chứa hai số nguyên n, m (1 ≤ n, m ≤ 105)
- Dòng thứ hai chứa n số nguyên a 1 , a 2 , …, a n (|a i| ≤ 105)
- Dòng thứ ba chứa m số nguyên b 1 , b 2 , …, b n (|b i| ≤ 105)
Output: Ghi kết quả vào tệp BSET.OUT gồm:
- Chứa hai số, số thứ nhất là số lượng phần tử của tập hợp hợp A và B, số thứ hai là số lượng phần tử của tập hợp giao của A và B
Ví dụ:
4 5
1 2 3 4
7 2
Trang 34 5
1 2 3 4
9 7 10 11 5
9 0
Giới hạn:
- Có 15/20 test, tương ứng 3.75 điểm với n, m ≤ 10 4 ;
- Có 05/20 test, tương ứng 1.25 điểm với 10 4 < n, m ≤ 10 5
Câu 4: (3 điểm) Phân tích số
Mỗi số nguyên lớn hơn 1 đều có thể biểu diễn duy nhất dưới dạng tích của các số nguyên tố (nếu như liệt kê các thừa số theo thứ tự không giảm) Thế nhưng nếu ta định biểu diễn các số nguyên dương dưới dạng tổng của các số nguyên tố (các số hạng được liệt kê theo thứ tự không giảm), thì có thể tồn tại nhiều cách biểu diễn khác nhau Chẳng hạn, đối với số 11 có tất cả 6 cách biểu diễn
11 = 11
= 2 + 2 + 7
= 3 + 3 + 5
= 2 + 2 + 2 + 5
= 2 + 3 + 3 + 3
= 2 + 2 + 2 + 2 + 3
Yêu cầu : Cho trước số nguyên dương N (1<=N<=5000) hãy tính số lượng cách biểu
diễn N dưới dạng tổng của các số nguyên tố
Input : Vào từ file văn bản ADDPRIME.INP chứa số nguyên dương N
Output : Ghi ra file văn bản ADDPRIME.OUT số lượng cách biểu diễn N dưới dạng
tổng của các số nguyên tố Do kết quả có thể rất lớn nên kết quả lấy bằng cách chia dư cho 1000000007
Ví dụ :
Giới hạn:
- Có 07/10 test, tương ứng 2.1 điểm với n ≤ 10 3 ;
- Có 03/10 test, tương ứng 0.9 điểm với 10 3 < n ≤ 5000
HẾT
Họ và tên thí sinh:
SBD: