`
moita2008
  • 浏览: 8111 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
社区版块
存档分类
最新评论

递归过程

阅读更多
引用
简单计算两个非负整数a*b的算法

1.递归方式:a*b=b+(a-1)*b 表示a个b相加,算法如下:

FUNC mul1(a,b:integer):integer:
   IF a=0 THEN RETURN(0)
ELSE RETURN(b+mul1(a-1,b))
ENDF;{mul1}

2.迭代方式:a*b=a个b之和

FUNC mul2(a,b:integer):
integer;
   z:=0;
FOR i:=1TO a DO
   z:=z+b;
RETURN(z)
ENDF;{mul2}

引用
java代码实现

public class RecursionTest {

	/**
	 * @param args
	 */
	//递归方式
	public int mul1(int a,int b){
		if (a==0)
		return 0;
		else
			return b+mul1(a-1,b);
	}
	
	//迭代方式
	public int mul2(int a,int b){
		int z=0;
		for(int i=1;i<=a;i++){
			z+=b;
		}
		return z;
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		RecursionTest tt = new RecursionTest();
		int s1=tt.mul1(15, 15);
		System.out.println("递归方式s1="+s1);
		
		int s2=tt.mul2(15, 15);
		System.out.println("迭代过程s2="+s2);
	}

}

1
1
分享到:
评论

相关推荐

    Hanoi递归过程分析图

    Hanoi递归过程分析图,利用展开法对hanoi的执行过程进行了分析!

    递归过程与递归工作栈.pptx

    递归过程与递归工作栈.pptx

    编译原理递归下降实验和报告

    为G的每个非终结符号U构造一个递归过程,不妨命名为U。 U的产生式的右边指出这个过程的代码结构: (1)若是终结符号,则和向前看符号对照, 若匹配则向前进一个符号;否则出错。 (2)若是非终结符号,则调用与此非终结...

    编译原理——语法分析器(递归下降分析法 )

    为G的每个非终结符号U构造一个递归过程,不妨命名为U。 U的产生式的右边指出这个过程的代码结构: (1)若是终结符号,则和向前看符号对照, 若匹配则向前进一个符号;否则出错。 (2)若是非终结符号,则调用与此非终结...

    第8课变量过程与递归过程[归纳].pdf

    第8课变量过程与递归过程[归纳].pdf

    2020年计算机等级VB语言核心知识点:递归过程.docx

    2020年计算机等级VB语言核心知识点:递归过程.docx

    先序递归建立二叉树

    用先序递归过程建立二叉树 (存储结构:二叉链表) 输入数据按先序遍历所得序列输入,当某结点左子树或右子树为空时,输入‘*’号

    VB6.0 使用递归过程实现阶乘运算.rar

    VB6.0 使用递归过程实现阶乘运算  Function F(n As Integer) As Single  If n &gt; 1 And n  F = n * F(n - 1)  Else  F = 1  End If  End Function  Private Sub Command1_Click()  Text2.Text = F(Val(Text...

    归并算法,采用的是自顶向下划分,再由下向上归并的递归过程

    归并分类算法:采用的是“自顶向下划分,再由下向上归并”的递归过程,实现此过程,被分类数据规模充分小条件设为16,即当数据规模小于等于16时。

    ackermann函数的递归实现和非递归实现

    ackman函数的递归和非递归,学习数据结构的素材,非递归是使用堆栈实现的。

    DNS递归和迭代

    在 DNS 查询过程中,递归查询和迭代查询是两个重要的概念,理解它们之间的区别对于 DNS 域名解析过程至关重要。 递归查询是指客户机向 DNS 服务器发出查询请求时,DNS 服务器将力图代表客户机来找到答案,在域名...

    算法 格雷码 递归算法

    算法功能的正确设定是保证递归过程正确进行的前提。 四. 实验内容――格雷码问题 1.问题描述 对于给定的正整数n,格雷码为满足如下条件的一个编码序列: (1) 序列由2n个编码组成,每个编码都是长度为n的二进制位串...

    C语言中的递归函数及其注意

    递归函数C语言 ...如果递归深度太深,或者递归过程中需要处理的数据量太大,可能会导致内存不足的问题。在这种情况下,我们需要考虑其他的算法或数据结构来解决问题,或者使用迭代的方式来避免这些问题。

    递归问题的一种直观执行模型

    递归问题的一种直观执行模型 针对递归过程的直观理解问题,提出了一种形式语言.通过该形式语言,可在 对递归程序宏观仅有所了解的基础上构造出直观执行模型.实例证明,此直观执行模 型能有效地使复杂递归过程具体化

    C++使用递归算法求交错幂集

    交错幂集是一种数学概念,它是由集合的所有子集的交错和构成的集合。...在递归过程中,通过跳过第k个元素来避免重复组合。在主函数中,我们调用computePermutations函数来计算交错幂集,并输出结果。

    算法设计与分析实验一分治与递归

    2、 通过本实验加深对递归过程的理解 二、 实验内容: 掌握递归算法的概念和基本思想,分析并掌握“整数划分”问题的递归算法。 三、实验题 设计递归程序,将正整数n的总划分数和所有划分结果在屏幕上显示,n的值由...

    存储过程递归查询

    存储过程递归查询,可适合于无限级分类时查找,找了很久才找到的好源码。

    Java字符串无意识的递归过程解析

    主要介绍了Java字符串无意识的递归过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    递归算法简介

    递归算法是把问题转化为规模缩小了的同类问题的子问题。然后递归调用函数(或过程)来表示问题的解。 一个过程(或函数)直接或间接调用自己本身,这种过程(或函数)叫递归过程(或函数)。

    非递归:矩阵中的路径(回溯法)

    Java实现矩阵中的路径(回溯法),采用非递归的回溯法,使用栈模拟递归过程。代码注释详细,可正常运行

Global site tag (gtag.js) - Google Analytics