Once upon a time, Toma found himself in a binary cafe. It is a very popular and unusual place. The cafe offers visitors k different delicious desserts. The desserts are numbered from 0 to k−1. The cost of the i-th dessert is 2i coins, because it is a binary cafe! Toma is willing to spend no more than n coins on tasting desserts. At the same time, he is not interested in buying any dessert more than once, because one is enough to evaluate the taste. In how many different ways can he buy several desserts (possibly zero) for tasting? Input The first line of the input contains a single integer t (1≤t≤1000) — the number of test cases. Then follows t lines, each of which describes one test case. Each test case is given on a single line and consists of two integers n and k (1≤n,k≤109) — the number of coins Toma is willing to spend and the number of desserts in the binary cafe. Output Output t integers, the i-th of which should be equal to the answer for the i-th test case — the number of ways to buy desserts for tasting.
时间: 2024-02-14 08:11:08 浏览: 163
Java中的`java.util.stream.Collectors.toMap()`方法有什么作用
题目描述
Toma来到了一个二进制咖啡馆,这里有k种不同的点心,第i个点心的价格是2^i个硬币,Toma最多愿意花n个硬币去品尝不同的点心,求他最多能品尝多少种不同的点心。
输入格式
第一行包含一个整数t,表示测试数据组数。
每组数据占一行,包含两个整数n和k。
输出格式
每组数据输出一个结果,每个结果占一行。
数据范围
1≤t≤1000,
1≤n,k≤10^9
输入样例
2
5 3
7 3
输出样例
1
2
算法1
(贪心) $O(logn)$
时间复杂度
参考文献
python3 代码
C++ 代码
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
阅读全文