当前位置: 首页 > wzjs >正文

网站建设优化石家庄技术短期培训班

网站建设优化石家庄,技术短期培训班,网站系统类型,中国建设网建筑业信息服务平台目录 前言 一、递归原理 二、栈溢出 三、案例 1、两个整数的最大公约数 2、裴波那契序列 3、汉诺塔 ​4、判断是否为回文数 总结 前言 递归在计算机科学中是一个重要的概念,它指的是一个函数直接或间接地调用自身的过程。在C语言中,递归通常用于…

目录

前言

一、递归原理

二、栈溢出

三、案例

 1、两个整数的最大公约数

2、裴波那契序列

3、汉诺塔

​4、判断是否为回文数

总结


前言

        递归在计算机科学中是一个重要的概念,它指的是一个函数直接或间接地调用自身的过程。在C语言中,递归通常用于解决问题的分治或分解,将一个大问题拆分成较小的同类问题来解决。递归函数必须包含一个递归出口,即递归调用的条件,否则会导致无限循环而造成栈溢出。


一、递归原理

二、栈溢出

无终止条件会产生栈溢出的情况

#include <stdio.h>
int fun01(int n);
int main ()
{printf("%d\n",fun01(5));return 0;
}int fun01(int n)
{/*if (n==1){return 1;}*/return n*fun01(n-1);
}

三、案例

 1、两个整数的最大公约数

#include <stdio.h>
int fun11(int m,int n);
int main ()
{/* 递归实现:两个正整数的最大公约数 */printf("%d\n",fun11(124,36 ));return 0;
}int fun11(int m,int n)
{if (m % n == 0)return n;return fun11(n,m%n);
}

2、裴波那契序列

        知道前两项的初始值作为递归结束条件,后一个数等于前两个数之和需要用递归调用得到。

#include <stdio.h>
int fun13(int n);
int main ()
{/*用递归算法实现斐波那契数列: */int i;for(i=1;i<=20;i++){printf("%d,",fun13(i));}return 0;
}
int fun13(int n)
{if (n==1||n==2){return 1;}return fun13(n-1)+fun13(n-2);
}

3、汉诺塔

#include <stdio.h>
void fun14(int n, char from,char mid,char to);
int main ()
{/* 汉诺塔 */fun14(3, 'a','b','c');return 0;
}void fun14(int n, char from,char mid,char to)
{if (n == 1){printf("%c->%c\n", from, to);}else{fun14(n - 1, from, to, mid);printf("%c->%c\n", from, mid,to);fun14(n - 1, mid, from, to);}
}

 4、判断是否为回文数

#include <stdio.h>
int fun15(int a[],int begin,int end);
int main  ()
{/* 递归判断是否回文数组*/int a[]={1,2,4,2,1};if (fun15(a,0,sizeof(a)/sizeof(a[0])-1)){printf("是回文数组\n");}else{printf("不是回文数组\n");}return 0;
}int fun15(int a[],int begin,int end)
{if (a[begin]!=a[end])//一定不是回文{return 0;}else if (begin==end||begin+1==end&&a[begin]==a[end])//一定是{return 1;}else if (a[begin]==a[end]){fun15(a,begin+1,end-1);}}

 


总结

        在C语言中,递归函数的设计需要考虑清楚递归调用的条件和递归出口,以及递归过程中相关变量的维护和更新。递归的应用领域很广泛,例如在数据结构、算法、图论等领域都有重要的应用。对于初学者来说,理解递归思想并熟练掌握递归函数的设计是很有意义的。

http://www.dtcms.com/wzjs/470878.html

相关文章:

  • 哎吆嗨网站建设seo网站优化服务
  • 虎丘网站建设正规微商免费推广软件
  • 厦门网格员seo技术培训沈阳
  • 个人网站做电商百度浏览器主页网址
  • 郑州公司做网站汉狮公司企业网站模板
  • 网站做好了怎么做后台英文seo
  • 医疗网站开发ppt网络推广网站大全
  • 网站视频背景怎么做seo岗位
  • 手机自适应网站建设维护自己搭建一个网站
  • 系统网站怎么做最好的推广平台是什么软件
  • dw使用模板做网站教程全网营销外包
  • 深圳最新疫情防控动态沈阳专业seo排名优化公司
  • 网站建设算什么行业人力资源培训网
  • 如何设计服装网站规划网络广告营销案例
  • html网站的规划与建设6百度信息流广告推广
  • 重庆响应式网站网络销售有哪些
  • 阜新公司做网站网络营销外包网络推广
  • 张家港早晨网站建设竞价托管哪家便宜
  • 微信小程序上线需要多少钱汕头seo建站
  • 免费软件的源代码公开吗东莞百度快速优化排名
  • 做网站 站内搜索引擎如何进行百度推广
  • 做网站规避什么百度收录站长工具
  • 网站中的ppt链接怎么做太原自动seo
  • 宁波住房和城乡建设培训网站扬州整站seo
  • 网站建设时间表301313龙虎榜
  • 梁山网站建设哪家好营销型网站建设哪家好
  • 临平做网站企业网站优化价格
  • 北京企业建设网站成都网站设计公司
  • 自己电脑做服务器搭建网站如何创建个人网页
  • 酷家乐网站做墙裙教程百度广告销售