题目来源:
回文数 - 洛谷https://www.luogu.com.cn/problem/U134037代码:
递归方法:
//洛谷 U134037 回文数 AC代码 2022 01 26(C++)
//递归方法
#include<bits/stdc++.h>
using namespace std;
//带入时,u从 1 开始
void k(int u,int n){
//递归的底
if(u>n) return;
//顺时针打印
printf("%d ",u);
u++;
//调用自己(也就是递归)
k(u,n);
//逆时针打印
u--;
printf("%d ",u);
}
int n,u;
int main(){
//说明从 1 开始回文
u=1;
cin>>n;
//调用以上编写的函数
k(u,n);
return 0;
}
以下为递推方法:
//洛谷 U134037 回文数 AC代码 2022 01 26(C++)
//递归方法
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,i;
cin>>n;
//本人喜欢用 printf 函数,但考虑到初学者
for(i=1;i<=n;i++){
cout<<i<<" ";
}
for(i=n;i>0;i--){
cout<<i<<" ";
}
return 0;
}
其实,printf 要比 cout 更快(*_*)