题目描述

小明有一架天平,小明想称出1∼n 克的物品,请问最少需要几颗砝码? 
比如小明想称出1∼4 克的物品,需要2颗砝码,为1和3克。 

balance

输入

第一行是一个整数T(1≤T≤10000) ,表示样例的个数。 以后每行一个样例,为一个整数 (1≤n≤10 9 )。

输出

每行输出一个样例的结果。

样例输入




40

样例输出


2

4

思路:

这道题第一感觉告诉我们是道规律题(可能是因为数据非常大的关系,用dp也没办法表示状态,太大了),于是我们去手动模拟答案,可以发现对于

n为1 2 3 4 5 6 7 8 9 10 11 12 13 是使用的砝码数分别是 1 2 2 2 3 3 3 3 3 3 3 3 3,并且使用的砝码重量为1,3,9,这样的话我们可以尝试认为用1,3,9,27的砝码可以测n<=40的情况,发现大部分都是可以的,那么尝试写一发吧,发现过了

其实是可以用数学归纳法证明的,但是我这种数学渣不会啊

ac代码

#include<cstdio>
#include<algorithm>
#include<iostream>
#include<map>
#include<sstream>
#include<cstring>
#define LL long long
using namespace std;
int main()
{LL n;while(~scanf("%lld",&n)){LL now = 1;LL ans = 0;LL sum = 0;while(sum<n){ans++;sum+=now;now*=3;}cout<<ans<<endl;}
}

XTU1254 Blance 如何实现称出1∼n 克的物品,请问最少需要几颗砝码?相关推荐

  1. 12个球使用天枰3次称出最轻的那个

    12个球使用天枰3次称出最轻的那个 编者:李国帅 qq:9611153 微信lgs9611153 时间:2011-10-21 17:23:19 背景原因: 许久以前遇到的问题分析,看到了拿出来. 步骤 ...

  2. 有1克、2克、...、n克的砝码各一枚,能称出哪几种重量?总共有几种可能方案?

    有1克.2克.-.n克的砝码各一枚,能称出哪几种重量?总共有几种可能方案? 1个1克的砝码可以用函数1+x表示, 1个2克的砝码可以用函数1+x2表示, 1个3克的砝码可以用函数1+x3表示, 1个4 ...

  3. 一块40克的砝码,摔成4块,利用天平,刚好可以称出1~40g所有整数克,问:这4块分别是多少克...

    一块40克的砝码,摔成4块,利用天平,刚好可以称出1~40g所有整数克,问:这4块分别是多少克 1 public static void main(String[] args) { 2 List< ...

  4. 笔试加分题:有16瓶水,其中只有一瓶水有毒,小白鼠喝一滴之后一小时会死。请问最少用() 只小白鼠,在1小时内一定可以找出有毒的水?

    原题: https://www.nowcoder.com/questionTerminal/a09c0eecbf684b0cba2ad0be32b7988e?orderByHotValue=1& ...

  5. 请尽可能说出js中数组的方法,最少3个,越多越好

    我接下来要把数组方法全都过一遍,顺手做个整理. 至于为什么整理这个,最近总听说面试经常会问到这个问题, 面试官灵魂发问:请尽可能说出js中数组的方法,最少3个,越多越好 据可靠消息了解到,如果你回答的 ...

  6. 涛涛最近要负责图书馆的管理工作,需要记录下每天读者的到访情况。每位读者有一个编号,每条记录用读者的编号来表示。给出读者的来访记录,请问每一条记录中的读者是第几次出现?

    题目:涛涛最近要负责图书馆的管理工作,需要记录下每天读者的到访情况.每位读者有一个编号,每条记录用读者的编号来表示.给出读者的来访记录,请问每一条记录中的读者是第几次出现. 输入描述: 输入的第一行包 ...

  7. 对每项物品,找出最贵价格的物品的经销商

    对每项物品,找出最贵价格的物品的经销商 SELECT  name, dealer, price  FROM   shop s1  WHERE  price=(SELECT MAX(s2.price)  ...

  8. “新角度”学习微积分:阿基米德是如何称出球的体积的?

    2023年2月7日晚,我在图灵社区主办的"图灵八点半"栏目中分享了这个话题(视频请见"图灵社区"的微信视频号,见2月7日的直播回放).现在我把文字稿进一步完善一 ...

  9. 有1克、2克、3克、4克的砝码各一枚,能称出哪几种重量?

    暴力解 #include<iostream> #include<stdio.h> #include<string.h> using namespace std; i ...

最新文章

  1. Kirito 的博客崩了,这次是因为...
  2. mysql通过订单量排序_mysql8 参考手册--通过排序优化
  3. html 列表bootstrap,bootstrap都有哪些类?
  4. 以后要使用tf.keras不要单独使用KERAS
  5. 按需加载图片(图片懒加载)
  6. flask第十八篇——模板【2】
  7. java http2_java的okhttp3库中,客户端如何开启http2协议支持
  8. 修改mysql用户的密码
  9. 抛硬币直到连续若干次正面
  10. python中eps参数_2019-01-23 python PIL 编辑 EPS 文件调整大小并拼接-失败告终
  11. uniapp中使用微信jssdk
  12. 真格量化——商品期权基本策略
  13. nagios 整合 ganglia 设置邮件、短信报警
  14. 网络(14)-Web站点如何防范XSS、CSRF、SQL注入攻击?
  15. VUE实现Tab切换
  16. arraylist 初始化_ArrayList - 遍历ArrayList的三种方法
  17. ElementUI 按需引入坑爹的点记录
  18. MySQL_PHP学习笔记_2015_0614_PHP传参总结_URL传参_表单传参
  19. elasticsearch-head后台运行
  20. 个人学习进度(第四周)

热门文章

  1. 将分类准确率的变化率按照对称性分类并排序
  2. CANoe DLL编程(一)—— Visual Studio 创建DLL以及动态调用
  3. 亚博 Arduino智能小车实验报告
  4. 【世语纠正】相濡以沫丶本意放开一棵树,还有一片森林。
  5. 移动应用“好”的本质在空白状态上体现
  6. 这是博客园的一个Bug吗?
  7. 玩转Discord:为什么它这么吸引加密社区?
  8. leapmotion使用之一-如何用leapmotion代替鼠标简单操作
  9. 蒲公英 · JELLY技术周刊 Vol.02
  10. 小米note3 android 8,手机 篇五十五:红米Note8Pro拍照翻车,竟不敌两年前小米Note3!...