本题题解!
2023-06-02 18:01:47
发布于:四川
18阅读
0回复
0点赞
这道题可以用递归算法或递归算法,我只讲递归算法。
代码如下:
#include<bits/stdc++.h>
using namespace std;
int main(){
long long n;
long long j[50];
cin>>n;
j[0]=0,j[1]=0,j[2]=6;
for(int i=3;i<=n;i++){
j[i]=j[i-1]+2*j[i-2];
}
cout<<j[n];
return 0;
}
(我知道有的人只看这里,所以放在前面。)
"j[0]=0,j[1]=0,j[2]=6;"是递归边界:
因为j[0]=0,j[1]=0,而j[2]=6,不符合递归式“j[i]=j[i-1]+2j[i-2];”。
递归式“j[i]=j[i-1]+2j[i-2];”:
从j[3]开始j的第i个(i>=3)等于j的第i个的上一个加上个的上一个。
(感谢各位看到最后的人!)
完结 散花
这里空空如也
有帮助,赞一个