递归问题
来源:互联网 发布:suse linux samba 编辑:程序博客网 时间:2024/06/17 12:15
递归思想的引入:
NOIP2001:
我们要求找出具有下列性质数的个数(包含输入的自然数n):
先输入一个自然数n(n<=1500001),然后对此自然数按照如下方法进行处理。
1.不作任何处理;
2.在它的左边加上一个自然数,但该自然数不能超过原数的一半;
3.加上数后,继续按此规则进行处理,直到不能再加自然数为止.
输入格式:
一个自然数n(n<=1000)
输出格式:
一个整数,表示具有该性质数的个数。
f(6)=f(3)+f(2)+f(1)…
《one》递归一章有优化版,后期学习
全排列问题:
ABCDEFG
f(n)=n*f(n-1)
继续可以得出递推公式。
错位排列:信封问题
abcdefg
ABCDEFG
a放到C里面,如果c放到A,那么方案数是:
f(n-2)
如果c不放A,b不放B,d不放D…
很容易看出方案数是f(n-1)
那么f(n)=(n-1)(f(n-1)+f(n-2))
继续可以得出递推公式。
阅读全文
0 0
- 递归问题
- 递归问题
- 递归问题
- 递归问题
- 递归问题
- 递归问题
- 递归问题
- 递归问题
- 递归问题
- 递归问题
- 递归问题
- 递归问题,汉诺塔问题
- 递归的问题
- 递归求排列问题
- 递归的问题
- 递归算法 背包问题
- 背包问题(递归)
- 背包问题,递归解法
- Android animation(一.alpha)
- UOJ 149 子串
- 常胜将军
- emwin学习之路:关于menu小工具的使用
- list.toString()结果
- 递归问题
- ThinkPHP3.2 --- 无法加载数据库驱动: Think\Db\Driver\
- C语言 string及memcpy,memmove函数的模拟实现
- Disruptor框架学习(为什么快)
- UVA 1589 象棋
- java中打印对象和toString()重写
- 关于redhat 6安装 psutil 报错问题
- Linux系统历史的发展和部分小知识
- 在纪中的第二天,2017-7-8 总结: