1 条题解
-
0
题面。
思路
首先 ,那 肯定都得是 的倍数。
设 , 且 与 互质。我们求出 的值就可以了。
题目中的 是个新定义的函数,那就先来研究一下它的性质。
有 。
,那么递归的最后一层是 。
倒数第二层应该是 ,再往上是 。
所以对于任意正整数 ,都有 。
结合以上两点:。
我们想得到一个最小的可行解,所以考虑最小的可行 怎么求。
$x \in [\lfloor \frac{h^i}{g}\rfloor , \lfloor \frac{2h^i}{g}\rfloor)$,想要最小解,那就让 就好。
至于 ,它需要满足 且与 互质。满足条件的 可以是 。
注意: 不能为 。
代码
#include <cstdio> long long T,G,H,A,B; void solve(long long g,long long h) { long long now=1; while(now<=g) now*=h; A=(now-1)/G+1; B=A*h+1; } int main() { scanf("%lld",&T); while(T--) { scanf("%lld%lld",&G,&H); solve(G,H); printf("%lld %lld\n",A*G,B*G); } }
- 1
信息
- ID
- 10853
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 10
- 标签
- 递交数
- 5
- 已通过
- 2
- 上传者