以下代碼均為 自己 實現,嘻嘻!
參考文章:http://blog.csdn.net/talk_8/article/details/46289683
循環法
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; }
有關於算法的介紹請點擊我上面給的CSDN的鏈接。