描述
请计算n的阶乘(1<=n<=100)
n的阶乘计算公式为:n!=nx(n-1)x(n-2)x…x1,如:5!=5x4x3x2x1=120
这里n很大,我们必须要用高精度去模拟整个乘法过程;
下面出示代码:
#include<iostream>
#include<algorithm>
#include<cmath>
#include<vector>
using namespace std;
int jinwei;
int main() {
int n;
cin>>n;
int s[100000]={0};
int t=1,yu=0;
s[0]=1;
for(int i=2;i<=n;i++){
for(int j=0;j<t;j++){
s[j]=s[j]*i+jinwei;
jinwei=s[j]/10;
s[j]=s[j] % 10;
}
while(jinwei){
s[t++]=jinwei % 10;
jinwei/=10;
}
}
for(int i=t-1;i>=0;i--){
cout<<s[i];
}
cout<<"\n";
return 0;
}