#01.1 - Số học (Ước số, bội số, số nguyên tố)

Bộ đề bài

# Bài tập Điểm Thời gian: Giới hạn bộ nhớ
1 Ước số và tổng ước số 100 (p) 1.0s 1023M
2 In ra các bội số của k 100 (p) 1.0s 256M
3 KT Số nguyên tố 100 (p) 1.0s 1023M
4 Ước số chung lớn nhất (Khó) 100 (p) 1.0s 640M
5 Phân tích thành tích các thừa số nguyên tố 100 (p) 1.0s 256M
6 Bội chung 3 số 100 (p) 2.0s 1023M
7 CSES - Sum of Divisors | Tổng các ước 100 (p) 1.0s 512M
8 Ước chung lớn nhất (THTB - 2021) 100 (p) 1.0s 256M
9 Số siêu nguyên tố 100 (p) 1.0s 256M
10 Số nguyên tố (Chọn ĐT thi OLP30/4 của PCT) 100 (p) 1.0s 256M

1. Ước số và tổng ước số

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 1023M Input: bàn phím Output: màn hình

Cho số nguyên dương \(N (N \leq 2∗10^9)\).

Yêu cầu: Đếm số lượng ước số của \(N\) và tổng các ước số của \(N\).

Input

  • Số nguyên dương \(N\)

Output

  • Chứa hai số nguyên là sô lượng ước số và tổng các ước của \(N\)

Example

Test 1

Input
10 
Output
4 18
Note
  • Số \(10\) có ước là \(1\) \(2\) \(5\) \(10\) và tổng \(1 + 2 + 5 + 10 =18\)

2. In ra các bội số của k

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho một số nguyên \(n\)\(k\) (\(1 \leq n, k \leq 100\)). In ra các bội số của \(k\) trong đoạn từ \(1\) đến \(n\), mỗi số in trên 1 dòng.

Input

  • Một dòng chứa số nguyên \(n\).
  • Một dòng chứa số nguyên \(k\).

Output

  • Các bội số của \(k\) trong đoạn từ \(1\) đến \(n\).

Example

Test 1

Input
10
3
Output
3
6
9

3. KT Số nguyên tố

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 1023M Input: bàn phím Output: màn hình

Trong ngày thực tập đầu tiên, thầy Hải có một câu đố nho nhỏ cho các học sinh của mình. Cho một số nguyên \(n\), hãy kiểm tra \(n\) có phải là số nguyên tố hay không?

Số nguyên tố là số tự nhiên lớn hơn 1 chỉ có hai ước số dương phân biệt là 1 và chính nó.

Input:

  • Gồm một dòng duy nhất là số nguyên \(n (|n| \le 10^{12})\)

Output:

  • In ra YES nếu \(n\) là số nguyên tố. Ngược lại in ra NO.

Example

Test 1

Input
9
Output
NO

Test 1

Input
7
Output
YES

4. Ước số chung lớn nhất (Khó)

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 640M Input: bàn phím Output: màn hình

Số nguyên dương \(p\) gọi là ước số chung lớn nhất của \(a\)\(b\) khi \(a\)\(b\) cùng chia hết cho \(p\)\(p\) là lớn nhất.

Viết chương trình nhập vào một số nguyên dương \(a,b\) \((min(a,b) \leq 10^{12})\).

Hãy in ra ước số chung lớn nhất của \(a\) 𝑣à \(b\).

Input

  • Nhập \(2\) số nguyên dương \(a,b\).

Output

  • In ra ước số chung lớn nhất của chúng.

Example

Test 1

Input
54 72 
Output
18

5. Phân tích thành tích các thừa số nguyên tố

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho số nguyên \(n\). Hãy phân tích \(n\) thành tích các thừa số nguyên tố.

Ví dụ: \(n=36 \rightarrow n=2\times2\times3\times3\). Khi đó có \(2\) thừa số \(2\)\(2\) thừa số \(3\).

Input

  • Vào từ thiết bị nhập chuẩn gồm dòng duy nhất chứa một số nguyên dương \(n\) \((n\le{10}^{14})\).

Output

  • Ghi ra thiết bị xuất chuẩn gồm các ước nguyên tố xếp từ nhỏ đến lớn của \(n\) cùng số lần xuất hiện trong cách phân tích đó.

Example

Test 1

Input
16
Output
2 4

Test 2

Input
25
Output
5 2

Test 3

Input
36
Output
2 2
3 2

6. Bội chung 3 số

Điểm: 100 (p) Thời gian: 2.0s Bộ nhớ: 1023M Input: bàn phím Output: màn hình

Bội chung nhỏ nhất của \(2\) số là số nguyên dương nhỏ nhất mà chia hết cho cả hai số đó.

Ký hiệu \(LCM(a,b)\) là bội chung nhỏ nhất của hai số \(a\)\(b\). \(LCM(a,b,c)\) là bội chung nhỏ nhất của \(a\), \(b\)\(c\).

Yêu cầu: Cho số \(n(1 \leq n \leq 10^6)\), hãy tìm giá trị lớn nhất bội chung nhỏ nhất của ba số nguyên dương bất kỳ không lớn hơn \(n\).

Input

  • \(1\) số nguyên dương \(n \ (1 \leq n \leq 10^6)\).

Output

  • \(MAX( LCM(i,j,k) )\) trong đó \((1 \leq i,j,k \leq n)\).

Example

Test 1

Input
9 
Output
504
Note

\(LCM(9,8,7)=504\).

7. CSES - Sum of Divisors | Tổng các ước

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Gọi \(\sigma(n)\) là tổng các ước của một số nguyên \(n\). Ví dụ, \(\sigma(12) = 1 + 2 + 3 + 4 + 6 + 12 = 28\).

Nhiệm vụ của bạn là tính tổng \(\sum_{i=1}^n \sigma(i)\) modulo \(10^9 + 7\).

Input

  • Một dòng duy nhất chứa số nguyên \(n\)
  • \(1 \leq n \leq 10^{12}\)

Output

  • In ra \(\sum_{i=1}^n \sigma(i)\) modulo \(10^9 + 7\)

Example

Test 1

Input
5
Output
21

8. Ước chung lớn nhất (THTB - 2021)

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Minh trong lúc rảnh rỗi đã nghĩ ra một nhiệm vụ cho bản thân để thư giãn một chút. Anh ta chọn hai số nguyên \(A\)\(B\) rồi tính ước số chung lớn nhất của các số nguyên "A giai thừa" và "B giai thừa". Minh muốn tìm ra \(GCD (A!, B!)\). Ai cũng biết rằng giai thừa của số nguyên \(x\) là tích của tất cả các số nguyên dương nhỏ hơn hoặc bằng \(x\). Như vậy \(x! = 1\times 2\times 3\times ...\times (x - 1)\times x\). Ví dụ \(4! = 1\times 2\times 3\times 4 = 24\).

Yêu cầu: Tìm ước chung lớn nhất của \(A!\)\(B!\) .

Dữ liệu

  • Một dòng chứa hai số nguyên \(A\)\(B\) (\(1 ≤ A, B < 10^5\)). Mỗi số cách nhau một khoảng trắng.

Kết quả

  • Một số nguyên dương là ước số chung lớn nhất của các số nguyên \(A!\)\(B!\). Do ước chung lớn nhất của \(A!\)\(B!\) có thể rất lớn nên ghi kết quả chia dư cho \(10^9 + 7\).

Input

4 3

Output

6

Ràng buộc:

  • Có 50% test tương ứng 50% số điểm của bài với \(1 ≤ A, B < 10^5\), \(min\ (A, B) ≤ 12\);
  • Có 30% test tương ứng 30% số điểm của bài với \(A, B ≤ 100\);
  • Có 20% test khác tương ứng với 20% số điểm còn lại của bài với \(A, B < 10^5\).

Nguồn: THTB - Cấp Quận 2021.

9. Số siêu nguyên tố

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Số nguyên tố \(n\) được gọi là số siêu nguyên tố nếu trong biểu diễn thập phân của nó ta bỏ đi một số tùy ý các chữ số tính từ bên trái, giữ lại ít nhất một chữ số và để nguyên thứ tự những chữ số còn lại thì vẫn được biểu diễn thập phân của một số nguyên tố (biểu diễn thập phân này có thể bắt đầu bằng chữ số \(0\)).

Ví dụ: \(167\) là một số siêu nguyên tố vì \(167\), \(67\)\(7\) đều là các số nguyên tố. \(2003\) cũng là một số siêu nguyên tố. Tuy nhiên \(89\), \(2000\) không phải những số siêu nguyên tố.

Yêu cầu: Hãy kiểm tra xem \(n\) cho trước có phải là siêu nguyên tố.

Input

  • Một số nguyên \(n\) \((0 \leq n \leq 10^{12})\).

Output

  • In ra YES nếu \(n\) là số siêu nguyên tố, in ra NO nếu ngược lại.

Example

Test 1

Input
167
Output
YES

Test 2

Input
2000
Output
NO

10. Số nguyên tố (Chọn ĐT thi OLP30/4 của PCT)

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Vì biết Nhật rất kém về số nguyên tố nên trong kì thi này của trường Newton, thầy Nam đã ra một bài toán hóc búa như sau: "Cho 2 số nguyên dương \(a, b\). Hãy tìm số lượng các số trong khoảng [\(a, b\)] sao cho số lượng ước của chúng là một số nguyên tố"

Không chỉ dừng lại đó, thầy Nam còn đánh đố Nhật bằng cách không chỉ cho một bộ \(a, b\) mà cho những \(T\) bộ số. Nhật rất cần qua kì thi này nên anh ấy nhờ đến các bạn lập trình chương trình để giải bài toán của thầy Nam.

Input

  • Dòng đầu chứa số nguyên dương \(T\) là số bộ test
  • \(T\) dòng sau mỗi dòng gồm 2 số nguyên dương \(a, b\)

Output

  • \(T\) dòng, dòng thứ \(i\) là kết quả của bộ test thứ \(i\)

Scoring

  • Subtask \(1\) (\(20\%\) số điểm): \(1 \leq a,b \leq 200\), \(T \leq 100\)
  • Subtask \(2\) (\(20\%\) số điểm): \(1 \leq a,b \leq 2000\), \(T \leq 1000\)
  • Subtask \(3\) (\(20\%\) số điểm): \(1 \leq a,b \leq 10^6\), \(T \leq 1000\)
  • Subtask \(4\) (\(20\%\) số điểm): \(1 \leq a,b \leq 10^6\), \(T \leq 10^5\)
  • Subtask \(5\) (\(20\%\) số điểm): \(10^6 < a,b \leq 10^{12}\), \(T \leq 10^5\) và số lượng ước phải là số nguyên tố lớn hơn \(2\)

Example

Test 1

Input
5
12 400
412 1000
32 100
1910 3000
1 100    
Output
82
93
17
141
32