📋 个人简介
🎉大家好,我是3月份新人榜排名第三的 ༺Blog༒Hacker༻
💬支持我:点赞👍+收藏⭐️+留言📝
🌺格言:༺永做优质༒programmer༻
📣n! 的精确值
🔥【问题描述】
❄️求1000以内n的阶乘。
输入 n,输出 n! 的精确值,n!=1×2×3×…×n。
🔥【输入数据】
❄️一个整数n(1≤n≤10001≤n≤1000)
🔥【输出要求】
❄️n!的值
🔥【输入样例】
100
🔥【输出样例】
93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000
🔥数据规模与约定
❄️
1≤n≤1000
💯CODE
#include"bits/stdc++.h"
#define MAXN 10000
using namespace std;
int a[MAXN],len;
void factorial(int b)
{
int i;
for(i=0;i<len;i++)
a[i]=a[i]*b;
for(i=0;i<len;i++)
{
a[i+1]+=a[i]/10;
a[i]%=10;
}
while(a[i]>0)
{
a[i+1]+=a[i]/10;
a[i]%=10;
len++;
i++;
}
}
int main()
{
int n;
cin>>n;
a[0]=1;
len=1;
for(int i=2;i<=n;++i)
factorial(i);
for(int i=len-1;i>=0;--i)
cout<<a[i];
cout<<endl;
return 0;
}