THCS Ôn Chuyên Contest 03
Điểm: 10
Điểm: 10
Điểm: 10
Điểm: 10
Điểm: 10
Cho số nguyên dương ~n~. Đếm số lượng chữ số của ~n~.
Input
Nhập số nguyên dương ~n~ (~1 \leq n \leq 10^{18}~).
Output
Số lượng chữ số của số ~n~.
Sample Test
Input
123
Output
3
Gợi ý:
Loại bỏ dần các chữ số của số ~n~ và đếm số lần lặp.
- Bỏ đi chữ số cuối của số ~n~ bằng phép chia nguyên cho 10 (~n = n/10~).
- Lặp lại cho đến khi ~n = 0~.
- Số lần lặp chính là số lượng số chữ số của ~n~.
Điểm: 10
Cho số nguyên dương ~n~. Tìm tổng các chữ số của ~n~.
Input
Nhập số nguyên dương ~n~ (~1 \leq n \leq 10^{18}~).
Output
Tổng các chữ số của ~n~.
Sample Test
Input
123
Output
6
Giải thích
1 + 2 + 3 = 6
Gợi ý:
- Cách 1: Đổi kiểu số sang dạng chuỗi, sau đó xét từng ký tự của chuỗi; đổi ký tự đó sang số nguyên (dùng bảng mã ASCII) và cộng vào tổng.
- Cách 2: Tương tự bài trước, tách từng chữ số của số ~n~ bằng cách:
- Dùng phép chia lấy dư cho 10 (~n % 10~) để lấy ra chữ số cuối cùng của số ~n~, cộng vào tổng (~sum += n % 10~).
- Bỏ đi chữ số cuối của số ~n~ bằng phép chia nguyên cho 10 (~n = n/10~).
- Lặp lại cho đến khi ~n = 0~.
Điểm: 10
Cho số nguyên dương ~n~. Hãy tính trung bình cộng các chữ số của ~n~.
Input
Nhập số nguyên dương ~n~ (~1 \leq n \leq 10^{18}~).
Output
In ra trung bình cộng các chữ số của ~n~, kết quả làm tròn đến chữ số thập phân thứ 2.
Sample Test
Input 1
346
Output 1
4.33
Input 2
123
Output 2
2.00
Điểm: 10
Điểm: 10
Điểm: 10
Điểm: 10
Điểm: 10
Điểm: 10
Điểm: 10
Số đặc biệt là số chia hết cho tổng các chữ số của nó.
Yêu cầu
Cho số nguyên dương ~n~. Kiểm tra xem ~n~ có phải là số đặc biệt không.
Input
Nhập số nguyên dương ~n~ (~0 < n \leq 10^{18}~).
Output
In ra "YES" nếu ~n~ là số đặc biệt, ngược lại in ra "NO".
Sample Test
Input 1
12
Output 1
YES
Input 2
13
Output 2
NO
Điểm: 10
Cho số nguyên dương ~n~. Tìm cách phân tích số ~n~ thành tích hai số nguyên dương ~a, b~ sao cho tổng của chúng là nhỏ nhất.
Input
Nhập số nguyên dương ~n~ (~1 \leq n \leq 10^9~).
Output
In ra 2 số nguyên dương ~a~ và ~b~ thỏa mãn đề bài (~a < b~), cách nhau bởi một dấu cách.
Sample Test
Input 1
6
Output 1
2 3
Input 2
8
Output 2
2 4
Điểm: 10
Điểm: 10
Cho dãy số nguyên dương: ~a_1, a_2, ..., a_M~. Đặt ~N = a_1 \times a_2 \times ... \times a_M~. Hãy tính số lượng ước của ~N~.
Ví dụ: ~N = 2 \times 3 = 6~. Số lượng ước của ~N~ là ~4~ tức là 6 có ~4~ ước: ~1, 2, 3, 6~.
Input
Dòng đầu chứa số nguyên ~M~
Dòng thứ hai là dãy số nguyên dương ~M~ phần tử: ~a_1, a_2, ..., a_M~ (~1 \leq a_i \leq 10^6~)
Output
Một số nguyên duy nhất là kết quả tính được. Kết quả của bài toán chỉ cần in ra phần dư khi chia cho ~10^9 + 7~.
Sample Test
Input
2
2 3
Output
4
Ràng buộc
- Có ~60\%~ số test ứng với ~60\%~ số điểm của bài có ~N \leq 10^6~;
- Có ~20\%~ số test ứng với ~20\%~ số điểm của bài có ~M \leq 1000~;
- Có ~20\%~ số test khác ứng với ~20\%~ số điểm còn lại của bài.
Điểm: 10
Ước số chung đặc biệt của hai số nguyên dương ~a~ và ~b~ là số nguyên dương ~d~ sao cho ~a~ chia hết cho ~d~, ~b~ chia hết cho ~d~, và tổng các chữ số của ~d~ là lớn nhất. Hãy tìm ước số chung đặc biệt của hai số ~a~ và ~b~.
Input
Một dòng duy nhất chứa hai số nguyên ~a, b~ (~1 < a, b < 10^9~).
Output
Trong một dòng duy nhất ghi ra tổng các chữ số của ước số chung đặc biệt của hai số ~a~ và ~b~.
Sample Test
Input
220 440
Output
10
Giải thích
Ước chung của 220 và 440 là ~1, 2, 4, 5, 10, 11, 20, 22, 44, 55, 110, 220~. Trong số các ước này, số ~55~ có tổng các chữ số lớn nhất. Do đó, ước chung đặc biệt của 220 và 440 là ~55~. Kết quả in ra là tổng các chữ số của số ~55~, tức là bằng ~10~.