A7973.【递归】进制转换--递归
2024-11-19 19:47:33
发布于:北京
197阅读
0回复
0点赞
刚学完递归,来这里运用一下:
题眼:想必大家都知道除2取余,逆序排列。
的规则吧,我们正好可以用递归解决.
递归思路:
递归函数名称:print
类型:空(void)(从世界之外漂流而来的旅行者)
形式参数表:长整数n(因为:n<=10的10次方)(long long)
结束条件:数<=0
结束语句:return;
递归体:print(n/2);
自带输出:cout<<n%2;
注意事项:输出放在递归体后面,因为是"逆序排列"!
接下来,照着递归思路,编出递归函数,参考代码:
void print(long long n){//长整数
if(n<=0){//结束条件
return;//结束语句
}
print(n/2);//递归体
cout<<n%2;//自带输出(放在递归体后面)
return;//好习惯
}
好啦,编出主程序:
int main(){
cin>>n;
print(n);
return 0;
}
加个定义:
long long n;
放好头文件及基本语句:
#include<bits/stdc++.h>
using namespace std;
拼在一起:
#include<bits/stdc++.h>
using namespace std;
void print(long long n){//长整数
if(n<=0){//结束条件
return;//结束语句
}
print(n/2);//递归体
cout<<n%2;//自带输出(放在递归体后面)
return;//好习惯
}
long long n;
int main(){
cin>>n;
print(n);
return 0;
}
最后,点个赞吧!
全部评论 2
关于森林书和沙漠书 :
3天前 来自 北京
0牛逼
刚学完2024-02-19 来自 浙江
0谢谢夸奖,谢谢点赞!
2024-02-19 来自 北京
0
有帮助,赞一个