数的计数
来源:互联网 发布:独立域名 编辑:程序博客网 时间:2024/06/05 06:53
题目描述
我们要求找出具有下列性质数的个数(包含输入的自然数n):
先输入一个自然数n(n<=1000),然后对此自然数按照如下方法进行处理:
1. 不作任何处理;
2. 在它的左边加上一个自然数,但该自然数不能超过原数的一半;
3. 加上数后,继续按此规则进行处理,直到不能再加自然数为止.
输入
6
输出
6
思路
1.我们可以发现7的拆分数个数等于6的拆分数个数,8的拆分数个数等于7的拆分数个数加上它一半(4)的拆分数个数的和,所以我们就可以得出当n是偶数时f[n]:=f[n-1]+f[n div 2];当n是奇数时F[n]:=f[n-1];
2.递归:每一个数都等于他前面的数的和加一f[n]:=1+f[1]+f[2]…+f[n div 2]
3.在递归时将每一个数储存起来,递归时直接调用;
var a:array[1..1000]of longint; i,n:longint;begin a[1]:=1; readln(n); for i:=2 to n do if odd(i) then a[i]:=a[i-1] else a[i]:=a[i-1]+a[i div 2]; writeln(a[n]);end.
1 0
- 数的计数
- 数的计数
- 数的计数
- 数的计数
- 数的计数
- Vijos1130. 数的计数
- 1050数的计数
- 数的计数(Noip2001)
- 数的计数
- 【9408】数的计数
- 数的计数
- 数的计数
- 数的计数
- [DP]NOIP2001 数的计数
- zstu 2547 数的计数
- 1415. [NOIP2001]数的计数
- 计数控制的循环--数的阶乘
- NOJ1050数的计数——水题
- 差分约束系统
- 初步封装OkHttp
- 优先队列(堆)
- BroadcastReceiver 广播接收者
- OpenGl红皮书第六版阅读笔记p107页实例
- 数的计数
- C语言学习-指针(仅如初见)
- 5. Longest Palindromic Substring
- web访问基础
- Python基础--运算符
- 笔记本电脑配置要什么样的才算好
- iOS开发-从app跳转到第三方应用和调用系统功能
- 搭建集群后再namenode上查看进程发现除了三个基本进程还可能有别的进程,例如本来在子节点出现的进程出现在了主节点上
- Tomcat 8.0简易发布网站方法