首页 > 编程语言 > 详细

阶乘 递归算法思想

时间:2021-08-10 23:29:08      阅读:25      评论:0      收藏:0      [点我收藏+]

1、递归简述
递归作为编程里最为重要的编程方法之一,其对于解决某些复杂的问题十分有效,并且相对于迭代,其过程在直观上更容易理解。

2、递归的基本思想
递归并不是简单的自己调用自己,也不是简单的交互调用。递归在于把问题分解成规模更小、具有与原来问题相同解法的问题。这些都是不断的把问题规模变小,新问题与原问题有着相同的解法。但是并不是所有所有可以分解的子问题都能使用递归来求解。一般来说使用递归求解问题需要满足以下的条件:

可以把要解决的问题转化为一个子问题,而这个子问题的解决方法仍与原来的解决方法相同,问题的规模变小。
原问题可以通过子问题解决。
存在一种简单的情况可以退出。

下面根据阶乘这个例子学习递归算法思想;
技术分享图片

#include<iostream>
using namespace std;
int fun(int n);
int main()
{
	int n;
	cin >> n;
	cout << "阶乘结果为:" << fun(n) << endl;
	return 0;
}
int fun(int n)
{
	if (n == 1)
	{
		return 1;
	}
	else
	{
		return n * fun(n - 1);
	}
	return 0;
}

?

阶乘 递归算法思想

原文:https://blog.51cto.com/rjgx/3348227

(0)
(0)
   
举报
评论 一句话评论(0
分享档案
最新文章
教程昨日排行
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!