BZOJ 1192 鬼谷子的钱袋
2015-07-11 21:01
225 查看
这道题比较简单,唯一的问题在于范围太大,暴力的方法是过不了的,因此不妨借用一下数学知识,相信不少人在小学竞赛做过这样一道题:老板有一串七个银环,只能切两次,员工每天要另一个银环该怎么办?这道题的答案很简单,分为一、二、四三段,我们不妨把题目延伸一下,数据扩大一点,便会得出这样的规律,我们只需分出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; }
感谢各位观看我的博客,希望能对您有所启发,谢谢。
相关文章推荐
- 求最大连续区间和的几种方法
- 暑假学习计划与学长的经验
- 疑问: IP数据包的服务类型字段TOS的作用是什么???
- NYOJ 242 计算球体积
- 1017. A除以B (20)
- HDU 4814 Golden Radio Base
- ubuntu编译android部分源码
- ATM机程序
- Ubuntu12.04通过xinput禁用及启用联想笔记本的触摸板
- 如何生成随机码
- MySQL中concat函数,mysql在字段前/后增加字符串
- A/B Problem(java除法)
- matlab 图片批量读取
- scala之初步认识
- 1016. 部分A+B (15)
- html中select显示非option的文字:做下拉框的时候用这些文字当提示
- 求两数之和
- C语言结构体(一)
- 一道 答案不被接受的 acm
- 【JAVA学习】(一)JAVA 线程