Tổng hợp 2 (ôn chuyên tối thứ 3)

Nhập xuất đơn thức (nạp chồng cin, cout)

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

Point: 1

Xây dựng struct DonThuc gồm hệ số (số thực) và số mũ (số nguyên).

Nạp chồng toán tử >> để nhập hệ số và số mũ.

Nạp chồng toán tử << để in ra đơn thức theo định dạng: heSo*x^soMu.

Lưu ý: In ra các hệ số của đơn thức luôn lấy 1 chữ số sau phần thập phân

Đầu vào:

Một dòng chứa hệ số và số mũ.

Đầu ra:

Chuỗi biểu diễn đơn thức.

Ràng buộc:

Số mũ >= 0.

Ví dụ:

Input:
5.5 2
Output:
5.5*x^2

Nhập xuất hỗn số (nạp chồng cin, cout)

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

Point: 1

Xây dựng struct HonSo gồm phần nguyên, tử số, mẫu số.


Nạp chồng toán tử >> để nhập 3 thành phần theo thứ tự: nguyên, tử, mẫu.

Nạp chồng toán tử << để in ra hỗn số theo định dạng: phannguyen(tuso/mau_so).

Đầu vào:

Một dòng chứa 3 số nguyên dương: phần nguyên, tử số, mẫu số.

Đầu ra:

Biểu diễn hỗn số.

Ràng buộc:

Mẫu số khác 0. Các giá trị trong khoảng int.


Ví dụ:

Input:
3 1 2
Output:
3(1/2)

Sắp xếp danh sách mặt hàng

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

Point: 1

Hãy sắp xếp danh sách các mặt hàng theo lợi nhuận giảm dần. Mỗi mặt hàng gồm các thông tin: Mã mặt hàng (là một số nguyên, tự động tăng, tính từ 1); Tên mặt hàng, nhóm hàng: là các xâu ký tự; Giá mua, giá bán: là các số thực (không quá 9 chữ số)

Đầu vào: Dòng đầu chứa số mặt hàng. Mỗi mặt hàng viết trên 4 dòng: Dòng 1: Tên mặt hàng. Dòng 2: Nhóm hàng. Dòng 3: Giá mua. Dòng 4: Giá bán

Đẩu ra: Ghi ra danh sách mặt hàng đã sắp xếp theo lợi nhuận giảm dần (lợi nhuận tính bằng giá bán trừ đi giá mua). Mỗi mặt hàng viết trên một dòng gồm: mã, tên, nhóm hàng và lợi nhuận. Các thông tin cách nhau đúng 1 khoảng trống. Lợi nhuận viết với 2 chữ số sau dấu phẩy.


Ví dụ:

Input:
3
May tinh SONY VAIO
Dien tu
16400
17699
Tu lanh Side by Side
Dien lanh
18300
25999
Banh Chocopie
Tieu dung
27.5
37
Output:
2 Tu lanh Side by Side Dien lanh 7699.00
1 May tinh SONY VAIO Dien tu 1299.00
3 Banh Chocopie Tieu dung 9.50

Truy Vấn Tổng SNT (Mảng Cộng Dồn)

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

Point: 1

Cho N và Q truy vấn [L, R]. Hãy tính tổng các số nguyên tố trong đoạn [L, R]. Yêu cầu: Xây dựng Sàng, sau đó dùng Mảng Cộng Dồn (Prefix Sum) để lưu tổng các SNT.


Input:

Dòng đầu tiên chứa hai số nguyên N và Q (1 <= N <= 1000000, 1 <= Q <= 100000).

Q dòng tiếp theo, mỗi dòng chứa hai số nguyên L và R (1 <= L <= R <= N).

Output:

In ra Q dòng, mỗi dòng là tổng các SNT trong đoạn [L, R]. (Dùng long long).


Test Case 1:

Input:
15 2
1 7
10 15
Output:
17
24

(Giải thích 1: S[7] - S[0] = 17 - 0 = 17. Giải thích 2: S[15] - S[9] = 41 - 17 = 24)


Đếm Số Lượng Ước SNT Khác Nhau

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

Point: 1

Cho T truy vấn. Với mỗi số X, hãy đếm số lượng ước nguyên tố khác nhau của X. Ví dụ: 12 = 2^2 x 3 có 2 ước SNT khác nhau là {2, 3}. 30 = 2 x 3 x 5 có 3 ước.


Input:

Dòng đầu tiên chứa T (1 <= T <= 100000).

T dòng tiếp theo, mỗi dòng chứa một số nguyên X (2 <= X <= 1000000).

Output:

T dòng, mỗi dòng là số lượng ước SNT khác nhau của X.


Test Case 1:

Input:
3
12
17
30
Output:
2
1
3

Test Case 2:

Input:
2
48
50
Output:
2
2

(Giải thích: 48 = 2^4 x 3; 50 = 2 x 5^2)


Uớc nguyên tố lớn nhất của N!

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

Point: 1

Cho N là số nguyên nhỏ hơn hoặc bằng 10^6

Tìm ước nguyên tố lớn nhất xuất hiện trong N!


Đầu vào: Nhập số nguyên N (2 < N <= 10^6)

Đầu ra: In ra số nguyên tố lớn nhất xuất hiện trong N!


Input 01:
10
Output 01:
7
Input 02:
999999
Output 02:
999983