`
zsybupt
  • 浏览: 41471 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

boj 237

    博客分类:
  • oj
 
阅读更多

Description

Greetings, Libras.

一个不透明的袋子里装有若干个重量是1的小球, 袋子的重量忽略不计. 只知道小球的数量至少是1, 至多是N.
现在给你一架天平, 你可以自己设计一套砝码, 即砝码的个数与每个砝码的重量都可以自由定义(每个砝码的重量必须是正整数).
要求不管袋子里有多少个小球, 都可以用这套砝码称出小球的确切数量. 称的次数不限. 每次使用天平只能获得下列三种信息之一: 左边比右边重; 两边等重; 右边比左边重.

 

给你已知的N, 请问设计方案至少需要多少个砝码?

 


Input

多组CASE(不超过50000组).
每组CASE一行, 一个正整数N. 1<=N<=10^9.
输入以EOF结束.


Output

每组一行, 一个正整数, 最少需要的砝码个数.

Sample Input

4
10
2134516


Sample Output
2
3
14


Hint

对于sample 1: 可以设计使用2个砝码, 重量分别为1, 3. 则重量1~4都可以称出.

 

Source

wolf5x 

思路:

首先对于N,1和N是无需称量的,比2小的肯定是1,比N-1大的肯定是N。

此题的规律为,当前所有砝码的和为sum,则能称量1~sum个,而对于sum+1重量的无需直接称量

,可以通过称量sum+2的,这样通过sum和sum+2即可确定sum+1,而称量sum+2,则可以通过增

加一个2*sum+2的砝码,通过(2*sum+2)-sum得到,所以可以如下推导:

sum= 0,cur = 2;

sum = 2,cur = 2*sum+2=6

sum = 8,cur = 2*sum+2=10

...

.....

如此下去,直到sum>=N-1。

代码:

#include<iostream>
using namespace std;

int main()
{
	int n;
	while(~scanf("%lld",&n))
	{
		int sum = 0,cnt = 0,cur = 2;
		while(n-1>sum)
		{
			sum+=cur;
			cur = 2*sum+2;
			cnt++;
		}
		printf("%d\n",cnt);
	}
}

 

 

分享到:
评论

相关推荐

    BOJ题目1023. Ancient Keyboard 源代码

    BOJ的题目1023. Ancient Keyboard解法 源代码

    boj 0809复试模拟题答案

    boj 上08 09 年复试模拟题的答案

    JAVA_BOJ

    JAVA_BOJ

    boj:算法

    boj:算法

    Algorithm-BOJ.zip

    Algorithm-BOJ.zip,BekJon在线法官(Java,Kotlin,SWIFT)和PS路线图,算法是为计算机程序高效、彻底地完成任务而创建的一组详细的准则。

    BOJ

    BOJ

    Algorithm-BOJ-PSJ.zip

    Algorithm-BOJ-PSJ.zip,Baykon在线判断JAVA问题解决方法(第二章),算法是为计算机程序高效、彻底地完成任务而创建的一组详细的准则。

    Algorithm-BOJ-AutoCommit.zip

    Algorithm-BOJ-AutoCommit.zip,当您解决baekjoon online judge的问题时,它会自动提交并推送到远程存储库。,算法是为计算机程序高效、彻底地完成任务而创建的一组详细的准则。

    Algorithm-boj-auto-submit.zip

    Algorithm-boj-auto-submit.zip,日本央行cli提交脚本,算法是为计算机程序高效、彻底地完成任务而创建的一组详细的准则。

    Python库 | boj-0.0.1.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:boj-0.0.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    Boj Coloring Book-crx插件

    通过这本图画书展示您的创造力,其中包括Boj和朋友。 一本有趣的,全数字化且可重复使用的着色书,可用于 通过这本图画书展示您的创造力,其中包括Boj和朋友。 一本有趣的全数字可重复使用的图画书,专为孩子,父母...

    boj.kr:解决boj.kr的问题

    解决问题 Boj.kr

    BOJ:日本央行

    BOJ:日本央行

    boj:算法求解

    boj:算法求解

Global site tag (gtag.js) - Google Analytics