首页 > 其他分享 >函数的递归(初学)

函数的递归(初学)

时间:2024-09-03 22:26:39浏览次数:11  
标签:return 函数 递归 int 初学 Func printf main

目录

递归概念

 递归例子

 例1:阶乘计算

例2:按顺序打印每一位 

例3:运行时堆栈

 递归误区


递归概念

//递归就是函数自己调用自己
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
	printf("hehe");
	main();
	return 0;
}
//陷入了死循环

 递归例子

 例1:阶乘计算

//算n的阶乘
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int Func(int i)
{
	if (i == 0)
		return 1;
	else
		return (i * Func(i - 1));
}
int main()
{
	int i = 0;
	scanf("%d", &i);
	int a = Func(i);
	printf("%d", a);
	return 0;
}
//先递推到临界值,再回归。

例2:按顺序打印每一位 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void Printf(int i)
{
	if (i >= 9)
		Printf(i / 10);
	printf("%d", i % 10);
}
int main()
{
	int i;
	scanf("%d", &i);
	Printf(i);
	return 0;
}

例3:运行时堆栈

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int Func(int i)
{
	printf("%d", i);
	if (i < 100000)
		Func(i+1);
	else
		printf("%d", i);
	return 0;
}
int main()
{
	int i = 0;
	scanf("%d", &i);
	Func(i);
	return 0;
}

 递归误区

   递归程序会不断的展开,在展开的过程中,我们很容易就能发现,在递归的过程中会有重复计 算,⽽且递归层次越深,冗余计算就会越多。

 

 

标签:return,函数,递归,int,初学,Func,printf,main
From: https://blog.csdn.net/hsy1603914691/article/details/141870841

相关文章

  • 函数的力量:掌握Python中的“返回值”艺术
    引言在实际开发过程中,函数的返回值扮演着极其重要的角色。它不仅能够简化代码结构,提高代码复用性,还能帮助我们构建更加灵活高效的程序架构。通过合理设计函数的返回值,可以轻松实现数据处理、状态传递等多种功能。接下来,让我们一起深入了解如何定义与使用Python函数中的返回值。基......
  • cuda编程[1]:一二三维网格和块的核函数
    目录前言核函数一维二维三维结果分析前言所有的代码下载链接:code。以下代码展示了如何在CUDA中打印网格和线程的索引信息。代码包括一维、二维和三维的网格和块的设置,并定义了多个内核函数来输出当前的索引信息。核函数打印线程索引__global__voidprint_idx_kerne......
  • C++入门基础知识48——【关于C++函数】之Lambda 函数与表达式
    成长路上不孤单......
  • python回调函数,闭包,派生
    回调函数:传入函数名称,在函数内调用该函数,传参,在特定的地方执行defsum(a,b,callback):  c=a+b  callback(c)defs_print(msg):  print("callback:%s"%msg)defs_print2(msg):  print("callback2:%s"%msg)sum(1,3,s_print2) 闭包:defouter_fu......
  • 使用 ZwCreateThreadEx 函数强力注入 Dll
    常用的线程注入方法有:远程线程注入、全局消息钩子注入、APC应用层异步注入和ZwCreateThreadEx强力注入等。今天我们讲一下ZwCreateThreadEx强力注入的这种方法。之前的远程线程通过CreateRemoteThread函数来进行Dll注入,这种方式可以注入普通的进程,但是却无法注入到系统......
  • 【C++】类和对象2:默认成员函数+操作符重载
    本篇是类和对象的第二站......
  • 【Python入门】对于Python初学者来说,最应该知道的第三方库,简单易上手
    NumPy:适用性:非常适合初学者学习基本的数值计算和数据处理。NumPy提供了高效的多维数组对象和丰富的数学函数,是学习科学计算和数据分析的基础。特点:易于上手,提供了大量的数学和统计函数,以及高效的数组操作。Pandas:适用性:对于想要进行数据分析的初学者来说,Pandas是不可或......
  • 25. shell当中的函数详解,管理函数,定义函数,交互式环境调用函数,查看删除函数,脚本中的函
    文章目录前言管理函数定义函数交互式环境调用函数查看函数删除函数脚本中的函数定义及使用函数使用函数文件环境函数示例总结友情链接前言函数function是由若干条shell命令组成的语句块,实现代码重用和模块化编程它与shell程序形式上是相似的,不同的是它不是一个单独的进程,不能独......
  • 【Canvas与艺术】五种函数化回文边纹纹饰荟萃
    【成图】【代码】<!DOCTYPEhtml><htmllang="utf-8"><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><head><title>五种函数化回文边纹纹饰荟萃</title><styletype="text/css&......
  • 26. shell当中函数返回值,返回值的作用,退出码状态,得到函数处理结果
    函数返回值作用在其他编程语言中,返回值是指函数被调用之后,执行函数体中的代码所得到的结果,这个结果可通过return语句返回。但Shell中返回值表示的是函数的退出状态:返回值0表示函数执行成功,非0表示函数执行失败。if、while、for等语句都是根据函数的退出状态来判断条件是否......