C语言:(采用PTA浙大题目) 简单递归总结(含部分答案)

本文介绍了C语言中的递归思想,通过浙大PTA的题目实例,包括递归求和、阶乘、指数、交错幂级数、Ackermann函数、斐波那契数列、十进制转二进制和顺序输出整数。总结了递归的出口和返回顺序,并提醒读者注意递归的时空复杂度。适合C语言初学者和递归算法实践。
摘要由CSDN通过智能技术生成

那么为了这期讲解递归的博客,博主特意去把pta比较简单的浙大题目部分的递归刷了一遍,要是觉得博主讲的不错的小伙伴可以关注博主哦!博主会持续更新的🐶
小伙伴们可以选择性学习哦!

注:代码在算法实例,主要讲解在最后的总结。

目录

1.递归思想

程序调用自身的编程技巧称为递归(recursion),简单来说就是编程技巧。我们在写一个函数时,对这个函数不断的调用其本身,就是一种递归。递归在求很多数列,乃至写不同的算法时十分方便(忽略其时间复杂度和空间复杂度),递归,递归,顾名思义:递和归。
引入图 (取自:卓象程序员)
在这里插入图片描述
到这里其实都是废话。

2.算法实例

这里的代码皆为函数块,小伙伴们可放心使用,与主函数任意搭配😄

1.使用递归函数计算1到n之和

我们一般情况下会选择在主函数中使用for循环和while循环的方式去计算。但在函数引用中我们可以使用递归:

int sum( int n )
{
   
    if(n<0)
        return 0;
	if(n==1)
		return 1;
	else
		return n+sum(n-1);
}
2. 递归求阶乘和

这里我们为了方便使用两个函数。

double fact( int n )
{
   
	if(n==1||n==0)
		return 1;
	else
		return (double)n*fact(n
  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值