Time Limit: 1000MS   Memory Limit: 65535KB   64bit IO Format: %lld & %llu

Submit
Status

Description

我们都知道人民币的面值是$1、2、5、10$,为什么是这个数值呢,我们分析了下发现,从$1-10$的每个数字都可以由每种面值选出至多一张通过加法和减法(找钱)来构成,(比如:$1+2=3,5-1=4,5+1=6,5+2=7,1+2+5=8,10-1=9$)

但是实际上,我们只需要$1、2、7$三种面值就可以组成$1-10$的每一个数字了

($1+2=3,7-1-2=4,7-2=5,7-1=6,7+1=8,7+2=9,7+1+2=10$)

那么现在问题来了,给一个数$n$,请问最少需要多少种不同的面值就可以构成从$1-n$的所有数字,注意在构成每一个数字时同种面值不能超过$1$张。

Input

一个数字$n$(1<=$n$<=100000)

Output

一个数字,代表最少需要多少种不同的面值可以构成从$1-n$的所有数字。

Sample Input

10

Sample Output

3

Hint

Source

第七届ACM趣味程序设计竞赛第三场(正式赛)

这个规律也真是够了!!
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
int sum=13,t=0;
int cnt=3;
while(sum+t<n)
{
sum+=t;
t=sum;
sum=2*t+1;
cnt++;
}
if(n==1)
printf("1\n");
else if(n<=4)
printf("2\n");
else if(n<=13)
printf("3\n");
else printf("%d\n",cnt);
}
return 0;
}

最新文章

  1. yii2权限控制rbac之rule详细讲解(转)
  2. 求CRC校验和的低位和高位的两种方式
  3. css行内样式
  4. python 字符串处理
  5. 一天搞定CSS:css选择器--07
  6. 跨域请求CORS
  7. JAVA基础-File类
  8. C#设计模式(7)——适配器模式(Adapter Pattern)(转)
  9. Angular $interval
  10. 利用Tensorflow实现卷积神经网络模型
  11. kali更新失败
  12. 7个提高效率的JavaScript调试工具
  13. C#的ThreadStart 和 Thread
  14. MATLAB 设置文件的相对路径
  15. 无法加载 DLL“ParkCOM.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E) 终结者
  16. 移动端H5适配方法(盒子+图片+文字)
  17. python渗透测试工具包
  18. 132页Filter代码分析
  19. Oracle 数据库实现数据更新:update、merge
  20. 8086汇编之 CALL 和 RET指令

热门文章

  1. NOIP 2014 T2 联合权值 DFS
  2. 一次显式GC导致的High CPU问题处理过程
  3. 用 Swift 开发一个 TODO 应用
  4. tab选项卡切换(js原生、jQuery )
  5. Struts2学习笔记 - Part.02
  6. RabbitMQ学习之基于spring-rabbitmq的RPC远程调用
  7. CorelDRAW X8官方正版特惠下载
  8. ZBrush细说3D海盗角色的创建艺术
  9. CentOS7安装GitLab、汉化、邮箱配置及使用(转载)
  10. kali 安装nessus