您的位置:首页 > 编程语言 > C语言/C++

C语言用分别用递归和循环求数字的阶乘的方法

2015-11-16 10:53 856 查看
以下代码均为 自己 实现,嘻嘻!

参考文章:/article/2630308.html

循环法

int CalFactorial(int x)
{
int sum=1;
for(int i=x;i>0;i--)
{
sum=sum*i;
}
return sum;
}


递归法

//递归
int  CalculateFactorial(int x)
{
if(x>1)
{
return  CalculateFactorial(x-1)*x;
}
else if(x==1)
{

return x;
}
}


完整代码

//#include <stdlib.h>

#include "stdafx.h"

using namespace std;

//递归 int CalculateFactorial(int x) { if(x>1) { return CalculateFactorial(x-1)*x; } else if(x==1) { return x; } }

//循环
int CalFactorial(int x) { int sum=1; for(int i=x;i>0;i--) { sum=sum*i; } return sum; }

int _tmain(int argc, _TCHAR* argv[])
{

//int a=CalculateFactorial(6);
int a =CalFactorial(6);
printf_s("%d\n",a);
system("pause");

return 0;
}


View Code
有关于算法的介绍请点击我上面给的CSDN的链接。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: