汉罗塔编程_c语言斐波那契数列递归算法

汉罗塔编程_c语言斐波那契数列递归算法汉罗塔C语言算法新手入门(3分钟学会)前言我相信大家在刚接触C语言时对汉罗塔递归算法有些头痛,现在依旧头痛的小朋友不要担心,你只要学完这篇文章,我相信你对汉罗塔算法十分感兴趣的。一看就会,不信试试?具备知识在看这篇文章之前,首先你得学会C语言函数知识点,仅此而已。1.直接上代码#include<stdio.h>intmain(){voidmove(intn,c…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

汉罗塔C语言算法新手入门(3分钟学会)

前言

我相信大家在刚接触C语言时对汉罗塔递归算法有些头痛,现在依旧头痛的小朋友不要担心,你只要学完这篇文章,我相信你对汉罗塔算法十分感兴趣的。一看就会,不信试试?

具备知识

在看这篇文章之前,首先你得学会C语言函数知识点,仅此而已。

1.直接上代码

#include<stdio.h>
int main()
{
 void move(int n,char a,char b,char c);        //定义汉罗塔函数
 int n;                                        //板的个数
 scanf("%d",&n);
 move(n,'a','b','c');                          //调用函数                      
 return 0;
 
}
void move(int n,char a,char b,char c)
{
 if(n==1)
  printf("%c->%c\n",a,c);                     //当只有一块需移动的板时,则直接从‘a'移动到'b'                 
 else
 {
  move(n-1,a,c,b);                            //n-1个板数从a移动到c,再从c移动到b
  printf("%c->%c\n",a,c);
  move(n-1,b,a,c);                            //n-1个板数从b,借助a,移动到c
 }
}

是不是看懂了呢?我知道就这么简**单,相信你现在一定解决了这道题目.

2.分析

从上面代码我们可以看出,我们在自定义函数内调用了自身,这就是递归函数的本质,当你学会了递归函数的用法,你会发现,你写循环函数的次数会变少了,直接调用自身,显得代码整洁,易懂。或者,你是一名刚刚学C语言的朋友,为什么在定义函数时用 void不用int呢?这个呢,你不必太纠结,花个30秒去查看一下其它的博客,大致就会了解了.

3.小编恳求

这是我的第一篇博客,希望大家多多支持,不懂的可以评论区发言,还有,我写的不好的地方希望大家指正,在此,表达感谢,感谢大家看这篇博客。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/182754.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vue组件注册可以是以下哪种方式_自定义vue组件分三个步骤

    vue组件注册可以是以下哪种方式_自定义vue组件分三个步骤组件的组织通常一个应用会以一棵嵌套的组件树的形式来组织:例如,你可能会有页头、侧边栏、内容区等组件,每个组件又包含了其它的像导航链接、博文之类的组件。为了能在模板中使用,这些组件必须先注册以便

    2022年7月29日
    10
  • python社交网络分析_python编程:从入门到实践

    python社交网络分析_python编程:从入门到实践NLP之情感分析:基于python编程(jieba库)实现中文文本情感分析(得到的是情感评分)输出结果1、测试对象data1=’今天上海的天气真好!我的心情非常高兴!如果去旅游的话我会非常兴奋!和你一起去旅游我会更加幸福!’data2=’今天上海天气真差,非常讨厌下雨,把我冻坏了,心情太不高兴了,不高兴,我真的很生气!’data3=’美国华裔科学家,祖籍江苏扬州市高邮县,…

    2022年8月10日
    7
  • kali更新源(源、软件更新,附kali源)

    kali更新源(源、软件更新,附kali源)很多系统安装好以后都需要进行更新源,或者软件需要更新,小编在这里进行一次更新源和软件的记录,还请路过大牛指出不足。1、在/etc/apt下有文件sources.list文件,将下方提供的源粘贴一个即可#命令vi/etc/apt/sources.list输入i进行编辑,把文章下方附有的kali源粘贴一个即可2、执行命令更新源#命令apt-getupdate3、更…

    2022年5月8日
    79
  • wget下载出现错误 403:Forbidden

    wget下载出现错误 403:Forbidden

    2021年11月22日
    47
  • 不含重复字符的最长子串长度JAVA_字符串回文判断

    不含重复字符的最长子串长度JAVA_字符串回文判断给你一个二进制字符串 s ,现需要将其转化为一个 交替字符串 。请你计算并返回转化所需的 最小 字符交换次数,如果无法完成转化,返回 -1 。交替字符串 是指:相邻字符之间不存在相等情况的字符串。例如,字符串 “010” 和 “1010” 属于交替字符串,但 “0100” 不是。任意两个字符都可以进行交换,不必相邻 。示例 1:输入:s = “111000”输出:1解释:交换位置 1 和 4:”111000″ -> “101010” ,字符串变为交替字符串。示例 2:输入:s =

    2022年8月9日
    10
  • 情感的强度分类_情感量表

    情感的强度分类_情感量表一、SO-HowNet   情感倾向强度值计算公式为:其中,Pwords代表正面情感种子词语集合,Nwords代表负面种子词语集合。word1和word2相似度就是各概念之间相似度的最大值。计算两个义原相似度公式如下:其中,p1,p2为两个需要计算比较的义原,Depth(p)是义原层次体系中的深度,Spd

    2022年8月23日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号