CF1512G Short Task

题目描述

定义 $ d(n) $ 为数字 $ n $ 的所有因子之和,即 $ d(n) = \sum\limits_{k \mid n} k $。 例如: $ d(1) = 1 $, $ d(4) = 1 + 2 + 4 = 7 $, $ d(6) = 1 + 2 + 3 + 6 = 12 $。 给定整数 $ c $,请找出满足 $ d(n) = c $ 的最小正整数 $ n $。如果不存在这样的 $ n $,则输出 `-1`。

输入格式

第一行包含一个整数 $ t $($ 1 \le t \le 10^4 $),表示测试用例的数量。 接下来 $ t $ 行,每行一个整数 $ c $($ 1 \le c \le 10^7 $),表示一个查询。

输出格式

对于每个测试用例: - 如果不存在 $ n $ 满足 $ d(n) = c $,输出 `-1`。 - 否则输出满足条件的最小 $ n $。

说明/提示

### 样例解释 |输入 $ c $|解释| |:-:|:-:| |1|$ d(1) = 1 $(最小解)| |2|不存在 $ n $ 满足 $ d(n) = 2 $(验证:$ d(1)=1 $,$ d(2)=3 $,$ d(3)=4 $)| |3|$ d(2) = 1 + 2 = 3 $(最小解)| |4|$ d(3) = 1 + 3 = 4 $(最小解)| |5|不存在 $ n $ 满足 $ d(n) = 5 $| |6|$ d(5) = 1 + 5 = 6 $(最小解)| |7|$ d(4) = 1 + 2 + 4 = 7 $(最小解)| |8|$ d(7) = 1 + 7 = 8 $(最小解)| |9|不存在 $ n $ 满足 $ d(n) = 9 $| |10|不存在 $ n $ 满足 $ d(n) = 10 $| |39|$ d(18) = 1 + 2 + 3 + 6 + 9 + 18 = 39 $(最小解)| |691|不存在 $ n $ 满足 $ d(n) = 691 $| --- 翻译及样例解释均由 Deepseek-R1 完成。