#P16846. [GKS 2021 #C] Alien Generator

[GKS 2021 #C] Alien Generator

题目描述

宇航员已经登陆到一个名为 Kickstartos 的新行星。他们在行星上发现了一台机器:一个能产生金条的生成器。该生成器的工作方式如下:第一天,宇航员向生成器输入一个正整数 KK。当天生成器将产生 KK 根金条。第二天,它将产生 K+1K + 1 根,第三天产生 K+2K + 2 根,以此类推。形式化地说,在第 ii 天,生成器将产生 K+i1K + i - 1 根金条。

然而,宇航员也知道生成器有一个限制:如果在某一天,生成器在所有天数中累积产生的金条总数会超过 GG,那么它将在当天发生故障,并且从当天及之后都将产生 00 根金条。宇航员希望避免这种情况,因此他们希望恰好产生 GG 根金条。

考虑 K=2K = 2G=8G = 8 的情况。第一天,生成器会产生 22 根金条。第二天,生成器会再产生 33 根金条,使总金条数达到 55。第三天,生成器会产生 44 根金条,这会使总金条数达到 99。因此,生成器会在第三天产出 44 根金条之前发生故障。所以在该情况下,生成的金条总数为 55

形式化地说,对于给定的 GG,宇航员想知道有多少个可能的 KK 值(第一天输入的)最终能使生成器恰好产生 GG 根金条。

输入格式

输入的第一行给出测试用例的数量 TT。接下来有 TT 行。

每行包含一个整数 GG,表示生成器最多能产生的金条数。

输出格式

对于每个测试用例,输出一行,格式为 Case #x: y,其中 xx 是测试用例编号(从 11 开始),yy 是第一天输入的 KK 的可能值的个数,这些 KK 值最终能恰好产生 GG 根金条。

2
10
125
Case #1: 2
Case #2: 4

提示

对于样例 #1,有 22 个可能的 KK 值(111010)最终能恰好产生 1010 根金条。对于 K=1K = 1,我们将在 44 天后得到 1+2+3+4=101 + 2 + 3 + 4 = 10 根金条;对于 K=10K = 10,我们只需 11 天即可得到 1010 根金条。

对于样例 #2,有 44 个可能的 KK 值(8823236262125125)最终能恰好产生 125125 根金条。

限制条件

1T1001 \le T \le 100

测试集 1

1G1041 \le G \le 10^4

测试集 2

最多 2020 个测试用例满足 1G10121 \le G \le 10^{12}

其余测试用例满足 1G1041 \le G \le 10^4

翻译由 DeepSeek V4 Pro 完成