A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 夏皮冬絺 中级黑马   /  2015-3-18 13:27  /  1070 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

请大家思考一个问题:如何求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;否则,算法结束。

3 个回复

倒序浏览
阶乘问题。

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

QQ截图20150318134625.png
回复 使用道具 举报
你的改进算法其实并无改进之处,第2种算法不过是第1种算法的另一种表述方式或者说具体实现
回复 使用道具 举报
这个题看上去第一眼想到的就是递归   但递归的效率低  可以用堆栈来处理
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马