时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld
题目描述
牛牛定义了一个递归函数F(x),x为正整数且定义域范围
现在
牛牛想要你编写一个程序实现这个函数的反函数功能,也就是说我们输入一个正整数y(

),你要找到范围在

内的正整数x,使得F(x)=y。
如果在

内不存在任何一个正整数x使得F(x)=y。请输出"-1"(不含引号)代表无解,如果有多个满足条件的x,你只用随便输出一个大小在

内的合法解即可
输入描述:
第一行输入一个正整数表示有T
组测试案例,对于每组案例:
输入一行一个正整数y,
代表函数值。
输出描述:
对于每组案例,输出一行一个整数代表问题的答案。
如果在
不存在任意一个正整数的函数值等于给定的y,请输出"-1"。
否则请输出任意的x满足条件F(x)=y。要求x的范围在
内。
示例1
输入
复制
11
1
2
3
4
5
6
7
8
9
10
1024
输出
复制
1
2
4
8
16
32
64
128
256
512
-1