Contest xử lí số lớn

Time limit: 1.0s / Memory limit: 1G

Points: 200

Cho một số nguyên dương ~N~.

Yêu cầu: In ra số lượng ước nguyên dương của ~N~.

Input:

  • Dòng đầu gồm duy nhất một số nguyên dương ~Q~ ~(Q≤5.10^6)~;
  • ~Q~ dòng tiếp theo, mỗi dòng gồm một số nguyên dương ~N~ ~(N≤10^6)~.

Output: Gồm ~Q~ dòng, mỗi dòng in ra số lượng ước nguyên dương của ~N~ tương ứng.

Ví dụ:
INPUT
3
100
21
31
OUTPUT
9
4
2
  • 30% số điểm có ~Q≤50~;
  • 30% số điểm khác có ~Q≤10000~;
  • 40% số điểm còn lại không giới hạn gì thêm.

Time limit: 1.0s / Memory limit: 1G

Points: 200

Cho một số nguyên dương N.

Yêu cầu: In ra tổng các ước dương của N.

Input:

  • Dòng đầu gồm duy nhất một số nguyên dương Q (Q≤5.~10^6~ );
  • Q dòng tiếp theo, mỗi dòng gồm một số nguyên dương N (N≤~10^6~ ).

Output: Gồm Q dòng, mỗi dòng in ra tổng các ước dương của N tương ứng.

Ví dụ:
INPUT
3
100
21
31
OUTPUT
217
32
32
  • 30% số điểm có Q≤50;
  • 30% số điểm khác có Q≤10000;
  • 40% số điểm còn lại không giới hạn gì thêm.

Time limit: 1.0s / Memory limit: 1G

Points: 200

Cho một số nguyên dương N.

Yêu cầu: In ra tổng các ước dương là hợp số của N.

Input:

  • Dòng đầu gồm duy nhất một số nguyên dương Q (Q≤5.~10^6~ );
  • Q dòng tiếp theo, mỗi dòng gồm một số nguyên dương N (N≤~10^6~ ).

Output: Gồm Q dòng, mỗi dòng in ra tổng các ước dương là hợp số của N tương ứng.

Ví dụ:
INPUT
3
12
3
4
OUTPUT
22
0
4
  • 30% số điểm có N,Q≤5000;
  • 30% số điểm khác có N,Q≤~10^5~;
  • 40% số điểm còn lại không giới hạn gì thêm.