以下代码均为 自己 实现,嘻嘻!
参考文章: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的链接。