列表

详情


NC230910. 光之屏障

描述

可以给我点两杯嘛,我和哥哥一人一杯。

给你两个整数 xy,让你求一个整数 z,满足 z2 的方幂。

输入描述

第一行输入一个正整数 ,表示数据组数。

接下来 T 行,每行两个整数 表示一组询问。

输出描述

输出 T 行,每行一个整数表示答案,如果有多解输出任意一解均给分,如果无解输出 

示例1

输入:

6
1000 2000
1000 4000
1000 4000
1000 8000
1000 8000
1000 8000

输出:

1024
1024
2048
1024
2048
4096

说明:

对于样例 #1,2^{10}=1024,2^{11}=2048,2^{12}=4096

示例2

输入:

6
800 1000
3000 4000
5000 6000
6000 7000
7000 8000
9000 10000

输出:

-1
-1
-1
-1
-1
-1

说明:

对于样例 #2,这些范围内很明显都没有 2 的方幂出现。

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

Python3 解法, 执行用时: 801ms, 内存消耗: 4980K, 提交时间: 2023-08-13 14:09:03

for _ in range(int(input())):
    a,b=map(int,input().split())
    t=1
    while t<a:
        t=t*2
    if t<=b and t>=a:
        print(t)
    else:
        print(-1)

上一题