Phân tích thừa số nguyên tố 2

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Xây dựng hàm phân tích số nguyên N > 0 thành tích các số nguyên tố theo dạng 120 = 2^3 * 3 * 5


Ràng buộc: ~0 \leq N \leq 10^6~


Input 01:
120
Output 01:
2^3*3*5
Input 02:
50
Output 02:
2*5^2

Số nguyên tố có chữ số cuối cùng lớn nhất

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Viết chương trình cho phép nhập vào n và liệt kê các số nguyên tố thỏa mãn nhỏ hơn n và có chữ số cuối cùng lớn nhất. Có bao nhiêu số như vậy.


INPUT:
200
OUTPUT:
2 3 5 7 11 13 17 19 23 29 37 47 59 67 79 89 101 103 107 109 113 127 137 139 149 157 167 179 199
29

Số đẹp chia hết

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Một số được coi là số đẹp khi nó đồng thời vừa chia hết cho một số nguyên tố và chia hết cho bình phương của số nguyên tố đó. Viết chương trình liệt kê các số đẹp như vậy trong đoạn giữa hai số nguyên dương cho trước.


Input: Một dòng duy nhất chứa hai số nguyên L và R.

Output: In ra các Số Đẹp tìm được trên một dòng, các số cách nhau bởi dấu cách. Nếu không có số nào thỏa mãn, in ra số 0.


Ràng buộc (Constraints):

1 <= L < R <= 10^5.


Ví dụ:

INPUT:
1 50
OUTPUT:
4 8 9 12 16 18 20 24 25 27 28 32 36 40 44 45 48 49 50

Số nguyên tố tiếp theo

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Cho một số nguyên dương ~n~, nhiệm vụ của bạn là tìm số nguyên tố đầu tiên lớn hơn ~n~.


Đầu vào:

Dòng đầu tiên chứa số nguyên ~t~: số lượng test.

Tiếp theo là ~t~ dòng, mỗi dòng chứa một số nguyên dương ~n~.


Đầu ra:

Với mỗi test, in ra số nguyên tố nhỏ nhất lớn hơn ~n~.


Ràng buộc:

~1 \le t \le 20~

~1 \le n \le 10^{12}~

Ví dụ :

Input:
5
1
2
3
42
1337
Output:
2
3
5
43
1361

Giải pháp hiệu quả

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Ngày lễ đã kết thúc. Nhờ sự giúp đỡ của hacker Leha, Noora đã tìm được cơ hội vào trường đại học trong mơ của cô nằm ở thị trấn Pavlopolis. Người ta biết rằng các trường đại học cung cấp cho sinh viên ký túc xá trong thời gian học đại học. Do đó, Noora phải rời Vičkopolis và chuyển đến Pavlopolis. Do đó, Leha bị bỏ lại một mình hoàn toàn trong một thị trấn yên tĩnh Vičkopolis. Anh gần như thậm chí rơi vào trầm cảm vì buồn chán! Leha 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 và B và sau đó tính ước số chung lớn nhất của các số nguyên "A giai thừa" và "giai thừa B". Leha muốn tìm ra GCD (A!, B!). Người ta biết rằng giai thừa của một 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 · 2 · 3 · ... · (x - 1) · x. Ví dụ 4! = 1 · 2 · 3 · 4 = 24. Hãy nhớ rằng GCD (x, y) là số nguyên dương lớn nhất q chia hết bởi (không có phần dư) cả x và y. Leha đã học được cách giải quyết nhiệm vụ này rất hiệu quả. Bạn có thể đối phó với nó, phải không?

Input: Dòng đầu tiên và dòng đơn chứa hai số nguyên A và B (1<=A, B <=10^9, min (A, B)<=12).

Output: In một số nguyên duy nhất biểu thị ước số chung lớn nhất của số nguyên A! và B!.


Ví dụ:

Input:
4 3
Output:
6

Bội chung nhỏ nhất của n số

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Cho n số nguyên dương, hãy tinh bội chung nhỏ nhất của n số đó.

Input:

• Dòng thứ nhất gồm một số nguyên dương n (n ≤ 50).

• Dòng thứ hai gồm n số nguyên dương có giá trị không vượt quá 30.

Output:

• In ra bội chung nhỏ nhất của n số đã cho.


Input:
5
3 6 2 9 5
Output:
90

Phân số tối giản

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Cho hai số nguyên a, b. Xét phân số a/b

• Nếu phân số trên không hợp lệ, in ra "INVALID"

• Nếu phân số trên là số nguyên, in ra số nguyên đó.

• Ngược lại, in ra dạng tối giản của phân số trên. Lưu ý mẫu phân số phải dương.


Input:

• Hai số nguyên a, b. (a, b ≤ 10^9)

Output:

• Kết quả bài toán


Input:
4 -8
Output:
-1 2

Xây dựng hàm tổng hợp

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Viết các hàm sau:

tong(lst) – tính tổng các phần tử trong danh sách.

solonnhat(lst) – tìm số lớn nhất.

trungbinhcong(lst) – tính trung bình cộng.

demsochan(lst) – đếm số phần tử chẵn.

Sau đó, viết chương trình chính nhập danh sách và in ra:

Tổng

Số lớn nhất

Trung bình cộng (làm tròn 2 chữ số)

Số lượng số chẵn


Dữ liệu vào:

Dòng 1: nhập vào một số nguyên N là số lượng phần tử trong danh sách

Dòng 2: nhập một dãy số nguyên, cách nhau bởi khoảng trắng.

Dữ liệu ra: 4 dòng kết quả tương ứng.


Input:
5
2 4 6 7 9
Output:
28
9
5.60
3

Xây dựng hàm đếm số nguyên tố trong đoạn [a, b]

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Viết hàm countPrimes(a, b) trả về số lượng số nguyên tố trong đoạn [a, b].


Input

Hai số nguyên dương a, b (1 ≤ a ≤ b ≤ 10^6).

Output

In ra số lượng số nguyên tố trong đoạn.


Ví dụ

Input 1
2 10
Output 1
4

Xây dựng hàm kiểm tra số chính phương

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Viết hàm isSquare(n) kiểm tra n có phải là số chính phương hay không.


Input

Một số nguyên dương n (1 ≤ n ≤ 10^9).

Output

In YES hoặc NO.


Ví dụ

Input 1
16
Output 1
YES

Xây dựng hàm kiểm tra số Strong

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Một số được gọi là Strong nếu tổng giai thừa các chữ số của nó bằng chính nó.

Viết hàm isStrong(n) kiểm tra điều kiện này.


Input

Một số nguyên dương n (1 ≤ n ≤ 10^6).

Output

In YES hoặc NO.


Ví dụ

Input 1
145
Output 1
YES

Xây dựng hàm tính tổng dãy số nghịch đảo

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Viết hàm sumSeries(n) tính:

--- ​

Input

Một số nguyên dương n (1 ≤ n ≤ 10^5).

Output

In ra giá trị S, làm tròn đến 5 chữ số thập phân.

--

Ví dụ

Input 1
3
Output 1
1.83333

Xây dựng hàm tính a^b

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Viết hàm long long power(int a, int b) để tính giá trị a^b (a mũ b).


Input: Hai số nguyên a, b (0 ≤ a ≤ 10, 0 ≤ b ≤ 10)

Output:

In ra giá trị a^b.


Ví dụ

Input 1:
2 5
Output 1:
32

Xây dựng hàm tính tổng các số nguyên tố nhỏ hơn n

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Viết hàm int sumPrimes(int n) trả về tổng các số nguyên tố nhỏ hơn n.


Input: Một số nguyên dương n.

Output: In ra tổng các số nguyên tố nhỏ hơn n.


Ví dụ:

Input 1:
10
Output 1:
17

Xây dựng hàm kiểm tra số thuận nghịch trong dãy

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Viết hàm bool isPalindrome(int n) để kiểm tra số n có đối xứng không.

Sau đó, nhập k số và đếm xem có bao nhiêu số thuận nghịch.


Input:

Dòng đầu là số nguyên k (1 ≤ k ≤ 100).

Dòng tiếp theo gồm k số nguyên dương.

Output: In ra số lượng các số thuận nghịch trong dãy.

--

Ràng buộc

Mỗi số ≤ 10^6


Ví dụ

Input 1:
5
121 343 12 44 123
Output 1:
3

Xây dựng hàm tính tổng dãy số Fibonacci nhỏ hơn n

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Viết hàm int fibSum(int n) tính tổng các số Fibonacci nhỏ hơn n.


Input

Một số nguyên dương n.

Output

In ra tổng các số Fibonacci nhỏ hơn n.


Ràng buộc

1 ≤ n ≤ 10^9


Ví dụ

Input 1:
10
Output 1:
20

Xây dựng hàm in ra số nguyên tố tiếp theo

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Viết hàm int nextPrime(int n) trả về số nguyên tố nhỏ nhất lớn hơn n.


Input

Một số nguyên dương n.

Output

In ra số nguyên tố nhỏ nhất lớn hơn n.


Ràng buộc

1 ≤ n ≤ 10^6


Ví dụ

Input 1:
10
Output 1:
11