黑马程序员技术交流社区

标题: 算法2 [打印本页]

作者: 夏皮冬絺    时间: 2015-3-18 13:27
标题: 算法2
请大家思考一个问题:如何求1×2×3×4×5的值。

最原始方法:
步骤1:先求1×2,得到结果2。
步骤2:将步骤1得到的乘积2乘以3,得到结果6。
步骤3:将6再乘以4,得24。
步骤4:将24再乘以5,得120。

这样的算法虽然正确,但太繁。

改进的算法:
S1:使t=1
S2:使i=2
S3:使 t×i,乘积仍然放在在变量t中,可表示为 t×i -> t
S4:使i的值+1,即 i+1 -> i
S5:如果i≤5,返回重新执行步骤S3以及其后的S4和S5;否则,算法结束。
作者: xsun    时间: 2015-3-18 13:47
阶乘问题。

QQ截图20150318134625.png (3.39 KB, 下载次数: 26)

QQ截图20150318134625.png

作者: fantacyleo    时间: 2015-3-18 13:53
你的改进算法其实并无改进之处,第2种算法不过是第1种算法的另一种表述方式或者说具体实现
作者: huhanze    时间: 2015-3-18 14:03
这个题看上去第一眼想到的就是递归   但递归的效率低  可以用堆栈来处理




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2