1302. 糖果
时间限制:1000 MS 内存限制:256 MB
题目描述
# 糖果 ## 题目描述 小火龙发现家里有 $n$ 个糖果包装袋。它记得,第一天买了 $x$ 个糖果,第二天买了 $2x$ 个糖果,第三天买了 $4x$ 个糖果,之后每天购买的糖果数量都是前一天的两倍。因此,第 $k$ 天买了 $2^{k-1}x$ 个糖果。 现在,小火龙不记得 $x$ 和 $k$ 的具体值了,只知道它们都是正整数,且 $k>1$。这 $k$ 天购买的糖果总数为 $n$,即 $$ x+2x+4x+\cdots+2^{k-1}x=n. $$ 请你求出满足上述条件的 $x$ 的最大值。保证每组数据至少存在一组合法的 $x$ 和 $k$。 ## 输入格式 第一行输入一个整数 $t$,表示测试数据的组数。 接下来 $t$ 行,每行输入一个整数 $n$,表示该组数据的糖果总数。 ## 输出格式 对于每组数据,输出一行一个正整数,表示满足条件的 $x$ 的最大值。 ## 数据范围 对于所有测试数据: - $1 \leq t \leq 10^4$; - $3 \leq n \leq 10^9$; - $x$ 和 $k$ 均为正整数,且 $k>1$; - 保证每组数据至少存在一组合法的 $x$ 和 $k$。 各子任务的限制如下: | 子任务 | 分值 | $t$ 的范围 | $n$ 的范围 | | --- | --- | --- | --- | | 一 | $30$ 分 | $1 \leq t \leq 10$ | $3 \leq n \leq 10^3$ | | 二 | $30$ 分 | $1 \leq t \leq 100$ | $3 \leq n \leq 10^5$ | | 三 | $40$ 分 | $1 \leq t \leq 10^4$ | $3 \leq n \leq 10^9$ | ## 样例输入 ``` 7 3 6 7 21 28 999999999 999999984 ``` ## 样例输出 ``` 1 2 1 7 4 333333333 333333328 ``` ## 样例说明 - 第一组数据,$x=1$,$k=2$,有 $1+2=3$。 - 第二组数据,$x=2$,$k=2$,有 $2+4=6$。 - 第三组数据,$x=1$,$k=3$,有 $1+2+4=7$。 - 第四组数据,$x=7$,$k=2$,有 $7+14=21$。虽然 $x=3$、$k=3$ 也满足条件,但应输出最大的 $x$,即 $7$。