You are on page 1of 5

Chuyên đề Số học

Bài 1. Dãy ước số chung lớn nhất Tên file: dayucln.cpp hoặc
dayucln.py
An mới bắt đầu học toán và cậu ta vẫn chưa biết gì về ước số chung lớn nhất. Cho nên cậu ta cần
sự giúp đỡ của bạn để làm một vài phép toán. An có một dãy A gồm N số nguyên, được đánh số
từ 1 đến N và An muốn tạo một mảng B gồm N+1 phần tử được đánh số từ 1 đến N+1 và các
phần tử của mảng B có tính chất sau: UCLN(B[i], B[i + 1]) = A[i], ∀ 1 ≤ i ≤ N.
Nếu như có nhiều kết quả thì bạn chỉ cần cho An biết mảng B có tổng các phần tử là nhỏ nhất (vì
cậu ta chỉ mới bắt đầu học toán nên rất ngại các con số lớn).
Dữ liệu vào: 
 Dò ng đầ u tiên chứ a mộ t số nguyên T - số lượ ng test case (1 ≤  T ≤ 10). Tiếp theo là cá c
test case:
 Dò ng đầ u tiên củ a mỗ i test case chứ a mộ t số nguyên dương N - số lượ ng phầ n tử củ a
mả ng A (2 ≤ N ≤ 105).
 Dò ng thứ hai chứ a N số nguyên A1 A2 ... AN (1  ≤ Ai  ≤ 109)
Dữ liệu ra: 
 Vớ i mỗ i test case xuấ t trên mộ t dò ng chứ a N+1 phầ n tử củ a mả ng B (0 < Bi)
Ví dụ:
dayucln.inp dayucln.out
2 1244
3 6 30 10 2
124
3
6 10 2
Chuyên đề Số học

Bài 2. Không nguyên tố Tên file: KNTO.PY hoặc KNTO.CPP


Cho P là tập hợp các ước số dương không nguyên tố của số nguyên dương n. Hãy tìm số
phần tử của tập hợp P.
Input: KNTO.INP:
 Mộ t dò ng duy nhấ t là giá trị củ a n (1 ≤ n ≤ 1014)
Output: KNTO.OUT
 Mộ t dò ng duy nhấ t là số phầ n tử củ a P
Ví dụ:
KNTO.INP KNTO.OUT
180 15
20 4
Ràng buộc
 Subtask1: 40% test đầ u tiên có n ≤ 106
 Subtask2: 60% test cò n lạ i khô ng có rà ng buộ c gì
Chuyên đề Số học

Bài 3. Tích nhỏ nhất Tên file: MINPRO.CPP hoặc MINPRO.PY


Bạn được cung cấp bốn số nguyên a, b, x và y. Ban đầu, a ≥ x và b ≥ y. Bạn có thể thực
hiện thao tác sau không quá n lần:
- Chọn a hoặc b và giảm nó đi 1 đơn vị. Tuy nhiên, do kết quả của phép toán này, giá trị
của a không được nhỏ hơn x và giá trị của b không được nhỏ hơn y.
Nhiệm vụ của bạn là tìm tích nhỏ nhất của a và b (a⋅b) mà bạn có thể đạt được bằng cách
áp dụng phép toán đã cho không quá n lần.
Bạn phải trả lời t trường hợp thử nghiệm độc lập.
Input: MINPRO.INP
- Dò ng đầ u tiên củ a đầ u và o chứ a mộ t số nguyên t (1≤ t ≤ 2*104) - số lượ ng
trườ ng hợ p thử nghiệm. Sau đó , t cá c trườ ng hợ p thử nghiệm theo sau.
- Dò ng duy nhấ t củ a test case chứ a nă m số nguyên a, b, x, y và n (1≤ a, b, x, y, n ≤
109). Rà ng buộ c bổ sung đố i vớ i đầ u và o: a ≥ x và b ≥ y.
Output: MINPRO.OUT
- Gồ m t dò ng, mỗ i dò ng chứ a mộ t cặ p a, b thỏ a mã n yêu cầ u đề bà i
Ví dụ:
MINPRO MINPRO
7 70
10 10 8 5 3 77
12 8 8 7 2 177177
12343 43 4543 39 123212 999999999000000000
1000000000 1000000000 1 1 1 999999999
1000000000 1000000000 1 1 1000000000 55
10 11 2 1 5 10
10 11 9 1 10
Giải thích ví dụ:
- Test 1: thay đổ i số thứ hai thà nh 7: kết quả là 10 * 7 = 70
- Test 2: thay đổ i số thứ nhấ t thà nh 11, số thứ hai thà nh 7: kết quả 11*7=77
Chuyên đề Số học

Bài 4. Ước số Tên file: uocso.cpp hoặc uocso.py


Cho hai số nguyên dương a và b. Hãy đếm số lượng các ước của tích a * b
Input: uocso.inp
 Dò ng 1 chứ a số nguyên dương T (T ≤ 100)
 T dò ng tiếp theo, mỗ i dò ng chứ a mộ t cặ p số a, b (1 ≤ a, b ≤ 109)
Output: uocso.out
 Gồ m T dò ng, mỗ i dò ng chứ a kết quả củ a tích tương ứ ng củ a input
Ví dụ:
uocso.inp uocso.out
2 4
24 8
67
Ràng buộc:
 Subtask1: có 60% số test có T = 1
 Subtask2: có 40% số test cò n lạ i khô ng có rà ng buộ c gì
Chuyên đề Số học

Bài 5. Phân số Tên file: FRACTION.PY hoặc FRACTION.CPP


Khi còn bé, các bạn học sinh học được cách trừ phân số bằng cách quy đồng mẫu số, rồi
mới thực hiện phép trừ.
5 9 15 9 6 1
− = − = =
4 12 12 12 12 2

Nhưng một lần, Bờm tính thử hiệu hai phân số bằng cách lấy hiệu hai tử số và hiệu hai
mẫu số và thấy thật ngạc nhiên là kết quả vẫn đúng.
5 9 5−9 −4 1
− = = =
4 12 4−12 −8 2
b
Bờm thấy tính chất này thật kỳ diệu và Bờm muốn biết, với phân số n cho trước, có bao
nhiêu cặp giá trị a ≥ 0 và m > 0 sao cho:
a b a−b
− =
m n m−n

INPUT
 Một dòng chứa hai số nguyên dương b và n cách nhau ít nhất một dấu cách (1 ≤ b, n
≤ 106)
OUTPUT
 Ghi ra một số nguyên là số lượng cặp (a, m) thỏa mãn yêu cầu.
Ví dụ:
INPUT OUTPUT
9 12 5
Giải thích ví dụ:
Có 5 cặp (a, m) thỏa mãn ứng với 5 phân số:
0 5 8 8 5
; ; ; ;
24 20 16 8 4

You might also like