思路很简单#include <bits/stdc++.h>
using namespace std;
int a[10000010]={1},n,len;
int main()
{
cin>>n;
int i,j;
if(!n){
cout<<"0";
return 0;
}
for(i=2;i<=n;i++)
{
for(j=0;j<=len;j++)
a[j]*=i;
for(j=0;j<=len;j++)
if(a[j]>=10)
{
a[j+1]+=a[j]/10;
a[j]%=10;
}
while(a[len+1]>0)
{
len++;
a[len+1]=a[len]/10;
a[len]=a[len]%10;
}
}
for(i=len;i>=0;i--) printf("%d",a[i]);
return 0;
},对于阶乘那就是高精乘以普通整数,挨个乘就行,代码奉上。
01-12
1481
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)