题目
你有一架天平。现在你要设计一套砝码,使得利用这些砝码可以称出任意 小于等于 N 的正整数重量。
那么这套砝码最少需要包含多少个砝码?
注意砝码可以放在天平两边。
样例输入 7 样例输出 3
评测用例规模与约定 对于所有评测用例,1 ≤ N ≤ 1000000000
运行限制 最大运行时间:1s 最大运行内存: 512M
题解题解链接
代码 找规律1#include
using namespace std;
int main () {
int ans = 1, x = 1, t = 1, n; // t表示能称出的上限,x表示最大砝码重量,ans表示个数,n表示最少要称出的重量
cin >> n;
while (t = x + 1 => t = 2 * x + 1
t += x; // 上限再加 x
ans ++;
}
cout
关注
打赏