处女座与cf(思维题)

链接:https://ac.nowcoder.com/acm/contest/327/C
来源:牛客网

题目描述
处女座热爱做物理实验,为了实验,处女座必须要精确的知道物品的质量。处女座准备自己设计一套砝码,每一个砝码都是正整数,这套砝码必须能够精确测量出n以内所有正整数的质量,处女座想要知道至少需要多少个砝码。你可以在天平的任意一边放置砝码。
在这里插入图片描述
在这里插入图片描述
/*
首先数据很大,用double还不够(只能通过50%测试数据),所以要用更高精度的long double;
这题是典型的 对称三进制 的 运用!(对称三进制采用-1,0,1作为基本字符,而普通三进制采用0,1,2作为基本字符)
对称三进制的逻辑通常应用于决策,比如投票有赞成、反对、弃权;交易有买进、卖出、观望,复式记账法体系了对称三进制的思维。SQL数据库系统采用了三值逻辑,是对称三进制的应用。
百度百科举例都是用的它~
下面有个例子采用对称三进制解决问题。
下面举一例:
三进制数是以下问题的答案:
允许在天平两端放置砝码,问N个砝码如何才能称出最多的整克物体?
答案:
1.一个砝码取1克,只能称1克。
2.二个砝码,取1克,3克
右盘3,左盘1。称2克
右盘3。称3克
右盘1,3。称4克
3.三个砝码 取1克,3克,9克
右盘9,左盘1,3。称5克
右盘9,左盘3。称6克
右盘9,1,左盘3。称7克
右盘9,左盘1。称8克
右盘9。称9克
右盘9,1。称10克
右盘9,3,左盘1。称11克
右盘9,3。称12克
右盘9,3,1。称13克
4.四个砝码取1克,3克,9克,27克。

其中的1,3,9,27,81等都是三进制数的数位。
综上,砝码个数(sum) 和 最多 可以称出的重量 的数量(num)关系为:
sum------- num------------- way
1 ------------1-------------(1g)
2 ------------4------------(1g,3g)
3 -----------13-----------(1g,3g,9g)
4 -----------40-----------(1g,3g,9g,27g)

*/
ac_code:

#include <iostream>
using namespace std;
int main()
{
    long double n;
    while(cin>>n)
    {
        long double num = 0;
        int sum = 0;
       while(num < n)
       {
           sum++;
           num = 3*num + 1;        
       }
        cout<<sum<<endl;
    }
    return 0;
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Leo Bliss

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值