计算机科学导论实验
——实验三 递归算法、迭代算法及其比较
文章目录
前言
提示:以下是本篇文章正文内容,下面案例可供参考
一、实验目的
1、掌握递归算法和迭代算法的原理及相互之间的异同。
2、掌握使用可视化计算工具Raptor编写递归及迭代程序的基本方法。
3、能够使用算法复杂度的概念对求解同一类问题的不同算法进行评估。
4、掌握Raptor中子函数的使用方法。
二、实验内容
1.使用函数求解1+2+3+……+n,n的值由用户输入
2.求解斐波那契数列问题中指定项的值
设计Raptor程序,分别使用递归和迭代算法,求解斐波那契数列问题中指定项的值,并比较两种算法解决问题所使用的基本符号的执行次数,理解算法时间复杂度的概念。
(1)递归算法
(2)迭代算法
3.n的“阶乘和”F(n)的计算公式为F(n)=1!+2!+3!+…+n!
(其中n!代表n的阶乘,其求解公式为n!=n*(n-1)*…*1)。请你自行设计或者参考项目案例3.3和3.4,使用递归和迭代算法分别设计2个程序,来求解任意一个不超过10的正整数的“阶乘和”的值。测试和验收时请自行输入几个连续的整数测试验证。例如输入测试数据1、2、3、4之后的正确结果值应该分别为1、3、9、33。并分析和比较两种算法的效率(n由用户输入)。
分别用递归和迭代算法实现 求n!
①迭代算法
②递归算法