递归计算阶乘

#include <iostream>

using namespace std;

//void doA()
//{
//	cout << "Hello" << endl;
//	doA();
//}
long 阶乘(int n)
{
    if(n == 0)
		return 1;
	else
		return n * 阶乘(n - 1);
}
long 阶乘2(int n) // 循环计算阶乘,
{
     long 结果 = 1;
	 for(int i = n; i > 0; i--)
		 结果 = 结果 * i;
	 return 结果;
}
int main ()
{
   //doA();
   cout << 阶乘(10) << endl; // 输出是10的阶乘,
   cout << 阶乘2(10) << endl;

   for(int num = 0; num < 10; num++)
	   cout << num << " != " << 阶乘(num) << endl;
return 0;
}

你可能感兴趣的:(递归计算阶乘)