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

时间:2023-03-09 07:20:47
C语言用分别用递归和循环求数字的阶乘的方法

以下代码均为 自己 实现,嘻嘻!

参考文章:http://blog.csdn.net/talk_8/article/details/46289683

循环法

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

递归法

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

完整代码

//#include <stdlib.h>

#include "stdafx.h"

using  namespace std;

//递归
int CalculateFactorial(int x)
{
if(x>)
{
return CalculateFactorial(x-)*x;
}
else if(x==)
{ return x;
}
} //循环
int CalFactorial(int x)
{
int sum=;
for(int i=x;i>;i--)
{
sum=sum*i;
}
return sum;
} int _tmain(int argc, _TCHAR* argv[])
{ //int a=CalculateFactorial(6);
int a =CalFactorial();
printf_s("%d\n",a);
system("pause"); return ;
}

有关于算法的介绍请点击我上面给的CSDN的链接。