求n!
1. 普通版(低精度)
#include <iostream>
using namespace std;
int main()
{
int n;
int i,sum;
while(cin>>n)
{
sum=1;
for(i=1;i<=n;i++)
{
sum*=i;
}
cout<<sum<<endl;
}
return 0;
}
**此外,也可以用递归函数完成
#include <iostream>
using namespace std;
int f(int n);
int main()
{
int n;
while(cin>>n)
{
if(n==0||n==1)
cout<<"1"<<endl;
else
cout<<f(n)<<endl;
}
return 0;
}
int f(int n)
{
if(n==0 || n==1)
return 1;
else
return n*f(n-1);
}
此版本程序截图:发现随着n的增大会因精度有限出现错误