A82891题解
2026-03-22 21:16:20
发布于:广东
8阅读
0回复
0点赞
要是你想看代码就翻到最下面
题目分析
题目会给出一个n,让我们求序列Sn
- 如果n为1,那么S就是1
- 否则就是Sn-1+n+Sn-1(此处加号为连接的意思)
举个栗子:
假如n是3
3是否等于1——不是❌
那么S3就是S3-1+3+S3-1
S3-1是S2
2是否等于1——不是❌
那么S2就是S2-1+2+S2-1
S2-1是S1
1是否等于1——是的✅
那么S1就是1
这么一来,S2就知道了
S2是1+2+1就是“1 2 1”
那S3也知道了
S3是S2+3+S2
就是“1 2 1 3 1 2 1”
代码实现
输入不用我说吧
int n;cin>>n;
然后开始对Sn求解
s(n);
那函数s怎么写呢
判断是否为1
if(n==1){
cout<<1<<' ';
return;
}
如果不是1,就是Sn-1+n+Sn-1
s(n-1);
cout<<n<<' ';
s(n-1);
全代码
#include<iostream>
using namespace std;
void s(int n){
if(n==1){
cout<<1<<' ';
return;
}
s(n-1);
cout<<n<<' ';
s(n-1);
return;
}
int main(){
int n;cin>>n;
s(n);
return 0;
}
这里空空如也







有帮助,赞一个