递归阶乘

|--代码

package com.collection;

public class Demo2 {
	public static void main(String[] args) {
		/**
		 * 求5的阶乘
		 */
		//方案1:普通循环
		int i = 1;
		for(int x = 1; x <= 5; x++)
		{
			i= i*x;
		}
		//System.out.println(i);

		//方案2:递归
		System.out.println(jc(5));
	}
	public static int jc(int i) {
		if(i==1)
			return 1;
		else
			return i*jc(i-1);
	}
}

流程分析图

时间: 2024-10-13 22:02:57

递归阶乘的相关文章

scheme实现匿名递归阶乘(Y组合子)

(((lambda ()         ((lambda (f)        (f f))      (lambda (x)        ((lambda (y)           (lambda (n)             (if (zero? n)                 1                 (* n (y (- n 1)))))) (lambda z                                        (apply (x x) 

数据结构与算法—递归(阶乘、斐波那契、汉诺塔)

目录 递归介绍 递归求阶乘 递归求斐波那契 递归解决汉诺塔 总结 递归介绍 递归:就是函数自己调用自己. 子问题须与原始问题为同样的事,或者更为简单:递归通常可以简单的处理子问题,但是不一定是最好的.对于递归要分清以下概念: 自己调用自己 递归通常不在意具体操作,只关心初始条件和上下层的变化关系. 递归函数需要有临界停止点,即递归不能无限制的执行下去.通常这个点为必须经过的一个数. 递归通常能被其他方案替代(栈.数组正向求). 认识递归,递归函数通常简易但是对于初学者可能很难取理解它.拿一个递归

js递归阶乘斐波那契规律

例子 //阶乘 function getRes(n) { if(n == 1) {return 1;} return getRes(n-1) * n; } let a = getRes(6); console.log(a); //斐波那契 function feb(n) { if(n == 1 || n == 2) { return 1;} return feb(n-1) + feb(n-2); } let b = feb(3); console.log(b); 规律: 先找固定的 if(固定的

Python练习题 047:Project Euler 020:阶乘结果各数字之和

本题来自 Project Euler 第20题:https://projecteuler.net/problem=20 ''' Project Euler: Problem 20: Factorial digit sum n! means n × (n ? 1) × ... × 3 × 2 × 1 For example, 10! = 10 × 9 × ... × 3 × 2 × 1 = 3628800, and the sum of the digits in the number 10! i

算法竞赛入门经典_4.3_递归

看代码 #include <stdio.h> int f(int n){ return n == 0?1:f(n-1)*n; } int main() { printf("%d\n", f(5)); return 0; } 上面f函数使用了递归,递归由两部分组成,一是递归头,二是递归体. 我们使用gcc调试工具 H:\编程书籍学习\算法竞赛入门经典2代码\算法入门经典第四章>b f 'b' 不是内部或外部命令,也不是可运行的程序 或批处理文件. H:\编程书籍学习\算

【程序设计基础】第九、十、十一章 综合实例分析 递归

实例分析: 闰年算法变化 1 resule:=0 2 if (y mod 400=0) or ((y mod 4=0) and (y mod 100<>0)) 3 then result:=1 4 return(result) if (y mod 400=0) or ((y mod 4=0) and (y mod 100<>0)) then result:=1 else result:=0 return(result) result:= (y mod 400=0) or ((y m

scala-尾递归

------------------------- by chenkh ----------------------------- 随笔记录什么是尾递归,为什么需要尾递归,尾递归show by example. 0,前言 递归通过灵巧的函数定义,告诉计算机做什么.在函数式编程中,随处可见递归思想的运用.一个递归的经典例子: //递归快排 def quicksort(ls: List[Int]):List[Int] = { if(ls.isEmpty) ls else quicksort(ls.f

python 学习 (递归/迭代)

递归阶乘: def func(num): if num == 1: return 1 return num * func(num - 1) print(func(7))

python study to 6 基础篇

递归 递归阶乘1*2*3*4...7案例 def func(num): if num == 1: return 1 return num * func(num-1) x =func(7) print(x) 反射 反射定义: 利用字符串的形式去对象(模块)中操作(寻找/检查/设置.删除)成员,叫做反射 反射:基于实例伪造web框架的路由系统.访问url然后定位到相应的函数上去. 反射使用到的方法: getattr ()  获取模块中的某个某个成员 hasattr()   判断某个成员是否在这个模块