分析:计算n!的公式如下:
这是一个递归形式的公式,在描述“阶乘”算法时又用到“阶乘”概念,因而编程时自然采用递归算法。递归的结束条件是n=0.
源程序:
#include<iostream>
using namespace std;
unsigned fac(unsigned n) //计算n的阶乘
{
unsigned f;
if(n==0)
f=1;
else
f=fac(n-1)*n;
return f;
}
int main()
{
unsigned n;
cout<<"Enter a positive integer: ";
cin>>n;
unsigned y=fac(n);
cout<<n<<"!="<<y<<endl;
}
结果为: