Xây dựng hàm 2 (Hưng)
Phân tích thừa số nguyên tố 2
Nộp bàiPoint: 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àiPoint: 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àiPoint: 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àiPoint: 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àiPoint: 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àiPoint: 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àiPoint: 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àiPoint: 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àiPoint: 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àiPoint: 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àiPoint: 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àiPoint: 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àiPoint: 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àiPoint: 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àiPoint: 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àiPoint: 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àiPoint: 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