1.乘法结合方式
n=1 a 0
n=2 a b 1
n=3 a b c 2
n=4 a b c d 6
......
在n=4时
(a b) c d => a c d => (a c) d => a d
4 3 3 2
()内的内容 看作为 1 个即可
可以轻松推出
T(n)=(n-1)*T(n-1) n>=1
2.有6人参会,问没一人拿对的概率是多少(错排问题)
错排问题递推关系式
3.已知数列递推式...
略。
4.一个猴子...
n=1 1
n= 2 1
n= 3 2
n= 4 (n=3)+(n=1)
- 分析:若猴子当前在第n阶,则上一次可能在n-1阶或n-3阶,也就是说,到达第n阶的跳法f(n)=f(n-1)+f(n-3)
=> F(n)=F(n-3)+F(n-1) n>3
5. 假设核反应堆
void particle(int t,int &alphas,int &betas) {
int alpha[t]={0};
int beta[t]={0};
alpha[0]=1;
for (int i = 1; i <= t; i++)
{
beta[i]=alpha[i-1]*3+beta[i-1]*2;
alpha[i]=beta[i-1];
}
alphas=alpha[t];
betas=beta[t];
}
6.设x和y为非负整数
int main()
{
int n,m;
while(cin>>n>>m)
{
int a[100001];
int k=0;
for(int i=1;i<=n;i++)
{
int temp=i;
while(temp%2==0)
temp/=2;
while(temp%3==0)
temp/=3;
if(temp==1)
a[++k]=i;
}
cout<<k<<endl<<a[m]<<endl;
}
}
7.有一个2*n的长方形方格
当n=1时,只有一种铺法,即
f(1)=1
当n=2时,有两种铺法,即
f(2)=2。
当n>2时,我们可以考虑最右边一列的情况
如果最右边一列是竖着放一个骨牌,则剩下的部分是一个2×(n−1)的长方形方格,有
f(n−1)种铺法;
如果最右边一列是横着放两个骨牌,则剩下的部分是一个2×(n−2)的长方形方格,有
f(n−2)种铺法。
因此,我们可以得到递推公式:
f(n)=f(n−1)+f(n−2)
8.水手分椰子
略