C语言用分别用递归和循环求数字的阶乘的方法
以下代码均为 自己 实现,嘻嘻!
参考文章: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的链接。
作者:
KMSFan
出处:http://www.cnblogs.com/kmsfan
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
欢迎大家加入KMSFan之家,以及访问我的优酷空间!
出处:http://www.cnblogs.com/kmsfan
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
欢迎大家加入KMSFan之家,以及访问我的优酷空间!