trang chủ / bài tập / divsummin

Tổng các ước

Đề bài

Mô tả

Với số nguyên dương n, ký hiệu d(n) là tổng tất cả các ước dương của n:

d(n)=knk.

Ví dụ: d(1)=1, d(4)=1+2+4=7, d(6)=1+2+3+6=12.

Cho số nguyên c, hãy tìm số nguyên dương n nhỏ nhất sao cho d(n)=c. Nếu không tồn tại số n như vậy, in ra 1.

Dữ liệu vào

  • Dòng đầu chứa một số nguyên t: số lượng truy vấn.
  • Mỗi dòng trong t dòng tiếp theo chứa một số nguyên c.

Dữ liệu ra

Với mỗi truy vấn, in ra trên một dòng:

  • 1 nếu không tồn tại n nào thỏa d(n)=c;
  • ngược lại, in ra số n nhỏ nhất thỏa mãn.

Ràng buộc

  • 1t104
  • 1c107

Ví dụ

Input Output Giải thích
12
1
2
3
4
5
6
7
8
9
10
39
691
1
-1
2
3
-1
5
4
7
-1
-1
18
-1
d(1)=1 nên với c=1 đáp án là 1.
Không có n nào có d(n)=2 nên in 1.
d(2)=1+2=3 nên với c=3 đáp án là 2.
d(4)=1+2+4=7 nên với c=7 đáp án là 4.
d(18)=1+2+3+6+9+18=39 và không có số nhỏ hơn thỏa nên với c=39 đáp án là 18.
4
2
12
13
31
-1
6
9
16
Không có n nào có d(n)=2.
d(6)=1+2+3+6=12.
d(9)=1+3+9=13.
d(16)=1+2+4+8+16=31, nhỏ hơn d(25)=31 nên đáp án là 16.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.400 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0