首页 > 其他 > 详细

BZOJ 1192 鬼谷子的钱袋

时间:2015-07-11 21:27:59      阅读:299      评论:0      收藏:0      [点我收藏+]

        这道题比较简单,唯一的问题在于范围太大,暴力的方法是过不了的,因此不妨借用一下数学知识,相信不少人在小学竞赛做过这样一道题:老板有一串七个银环,只能切两次,员工每天要另一个银环该怎么办?这道题的答案很简单,分为一、二、四三段,我们不妨把题目延伸一下,数据扩大一点,便会得出这样的规律,我们只需分出2的所有此方的长度,便可以保证拿到任意数量的银环,所以这道题的做法就出来了。

#include<iostream>
#include<cstdlib>
#include<cstdio>
#include<cmath>
 
using namespace std;
 
int i_money;
int i_temp=1,i_times;
 
int main()
{
    cin>>i_money;
   
    do
    {
        i_money=i_money-i_temp;
        i_times=i_times+1;
        i_temp=i_temp*2;
    }while(i_money>0);
     
    cout<<i_times<<endl;
     
    return 0;
}
感谢各位观看我的博客,希望能对您有所启发,谢谢。

BZOJ 1192 鬼谷子的钱袋

原文:http://www.cnblogs.com/szy-wlxy/p/4639341.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!