首页 > 其他分享 >递归方法求5!

递归方法求5!

时间:2022-10-30 16:57:59浏览次数:31  
标签:return 函数 递归 递归函数 int else 方法

#include <stdio.h>

long f(int n){
	if(n==1){
		return 1;
	}else{
		return n * f(n-1);
	}
}
int main()
{
	int m = 5;
	long f(int n);
	
	printf("5!= %d\n", f(m));
	
	return 0;
 } 

学习到:

  1. 递归调用
    一个函数 在他函数体内 调用自身 成为递归调用
  2. 递归函数体内有两种情况
  • 到达最底部(最后一步),然后返回
  • 还没到达最后一步,就需要一直分离,继续往下走
    eg:
//这是递归函数定义,但是最好不要有两个出口
int f(int n){
  if(n==1){
    return 1;
  }else{
    retrun n*f(n-1);
  }
}
//改进
int f(int n){
   int c;
  if(n==1){
     c = 1;
    //return 1;
  }else{
    c = n*f(n-1);
    //retrun n*f(n-1);
  }
  return c;
}
3. 递归函数思路
* 形式:式子可以分离成f(n) = n*f(n-1)但不限于n*函数,
* 内容:
1是到了递归尽头,需要有确切返回值给上层函数计算,计算后,才能保证整个递归函数有结果
2没到尽头则继续递归
总结:无论那种情况都要对上层函数负责,保证其返回值,不然递归失去了连续性

标签:return,函数,递归,递归函数,int,else,方法
From: https://www.cnblogs.com/97rong/p/16841598.html

相关文章

  • Java基础------方法
    什么是方法Java方法是语句的集合,他们在一起执行一个功能设计方法的原则:方法的本意是功能模块,就是实现某个功能的语句块的集合。我们设计方法的时候,最好保持方法的原子性,......
  • 最大公约数最小公倍数的探索(三种方法)
    本题要求两个给定正整数的最大公约数和最小公倍数。第一遍自己做时,根据原理暴力求解    结果可想而知超时了 看完翁恺老师的视频,学会第二种方法———辗转相......
  • C# HashSet不要遍历或者使用泛型扩展方法
    C#的接口IEnumerable定义了GetEnumerator方法,它的拓展方法是都是基于这个迭代器实现的。当我们使用比如,First、Where等泛型方法时,会实例化一个迭代器Enumerator包含......
  • Spring事务回滚的两种方法
    ##方法一1.使用@Transaction来配置自动回滚,可以配置在类上,也可以配置在方法上(作用域不同),但对final或private修饰的方法无效,且该类必须是受spring所管控的,也就是被已经被注......
  • 个性化推送通知的3种方法,提升60% ROI
     提及推送通知,大家都不陌生,只要你有智能手机、手表或电脑,就会有推送。本文通过一个精准营销案例,教大家如何设置个性化推送、设置地理围栏和精准推送时间等方式你提高推送......
  • Excel如何将一张工作表拆分成多个工作表Sheet?Excel拆分工作表方法
    生活中我们偶尔会碰到这种情况,当你之前将所有数据已经都整理在一个Excel表格里了,但临时因为需要,却需要将里面的数据分开放在不同的工作表里,该怎么操作呢?利用透视表,我们就能......
  • Android开发页面重定向导致WebvView.canGoBack一直返回true的解决方法
    Android开发页面重定向导致WebvView.canGoBack一直返回true的解决方法原因:打开页面A的时候重定向到页面B,页面B回退的时候回退到页面A,但是接着又重定向到页面B,所以canGoBack......
  • WIN2012远程桌面授权服务器许可证问题解决方法
    WIN2012服务器报错为由于没有远程桌面授权服务器可以提供许可证,远程会话连接已断开。请跟服务器管理员联系。原因是服务器安装了远程桌面服务RemoteApp,这个是需要授权的。微......
  • ps 一些使用方法
    *消除污点操作:使用污点修复工具,可以擦拭掉图片上一些斑斑点点,使其和背景变成一致  *背景自然延长(1)先选择图片,然后“图像”->“画布大小”->“调整宽度,高度,百分比,定......
  • HarmonyOS系统中内核实现温湿度采集方法
      大家好,今天主要来聊一聊,如何使用鸿蒙系统中的温湿度传感器方法。   第一:温湿度传感器基本原理  大部分的传感器是在环境温度变化后会产生一个相应的延伸,因此传......