震惊!c语言学了一辈子都不知道的小技巧。第十二章

标题党,我这算不上小技巧就是一点感想。

上一章说到了一些简单的函数定义,大多都是用不用函数都一样。但是这个函数递归就不太一样了就开始有点阴间了,考查的是一些思路和逻辑思维的应用。还有i就是抽象思维的运用,例如这个汉诺塔问题,要抽象为n-1,来移动并不是实际的一个,而是一个整体,类似于数学中的递推公式。通过公式将一次次的移动从抽象到具体。还是要多加体会才能行。这几类的题目并不像之前那些这么直接,所以还得要多家练习。

#include<iostream>

using namespace std;

void hmt(int n ,char a,char b,char c){

if(n==0){return;}

else{

hmt(n-1,a,c,b);

cout<<n<<": "<<a<<" -> "<<c<<endl;

hmt(n-1,b,a,c);

}

}

int main(){

int n;

char a,b,c;

cin>>n>>a>>b>>c;

hmt(n,a,b,c);

return 0;

}

全部评论

相关推荐

点赞 评论 收藏
分享
2024-12-04 19:28
已编辑
门头沟学院 算法工程师
华为 AI工程师 n*16 硕士985
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务