编程题
### 问题描述 作为魂穿皮皮鸡的你,经过一段时间的发展,现在要带领帕鲁们打倒可恶的赛博奴隶主了! 要打倒一个 boss,首先就要知道 boss 的血量。我们的赛博奴隶主作为最大的 boss,自然也有他的血量。但是他十分狡猾,把自己的血量藏了起来。不过无论如何,他必须提供一种方式让帕鲁们知道他的血量。赛博奴隶主所提供的方式如下: 赛博奴隶主把头顶上的血量变成了一个数字 $n$,他的实际血量为 $n$ 的所有约数的 $k$ 次方之和,然后再对 $10^9+7$ 取余。 举个例子,如果 $n=9$,$k=3$,那么赛博奴隶主的实际血量为 $(1^3 + 3^3 + 9^3) \bmod (10^9+7) = 757$。 你现在需要做的就是求出赛博奴隶主的血量,然后带领帕鲁们一起打败他!让我们解放帕鲁吧! ![图片描述](https://dn-simplecloud.shiyanlou.com/questions/uid1664054-20240205-1707100657524) ### 输入格式 第一行输入 $1$ 个正整数 $t$,表示测试案例组数。($2\leq t\leq 10^2$)。 接下来 $t$ 行,每行输入 $2$ 个正整数 $n,k$,其中 $n $ 表示赛博奴隶主的血条,$k$ 表示 $k$ 次方的血量转化比。($1\leq n,k \leq 10^{18}$)。 ### 输出格式 输出 $t$ 行,每行包含一个正整数,表示对应赛博奴隶主真实的血量,注意!这个结果是对 $10^9+7$ 取模后的结果。 ### 样例输入 ```text 3 3 1 4 2 4 1 ``` ### 样例输出 ```text 4 21 7 ``` ### 说明 对于样例: $4=1+3$。 $21=1+4+16$。 $7=1+2+4$。
查看答案
赣ICP备20007335号-2