输入N求N的阶乘的准确值。
输入
输入N(1 <= N <= 10000)
输出
输出N的阶乘
输入样例
5
输出样例
120
模拟乘法
代码:
#include <iostream> #include <cstdio> #include <cmath> #define MAX 50000 using namespace std; int n,num[MAX] = {1},c = 1; int main() { scanf("%d",&n); for(int i = 2;i <= n;i ++) { int d = 0; for(int j = 0;j < c;j ++) { d += num[j] * i; num[j] = d % 10; d /= 10; } while(d) { num[c ++] = d % 10; d /= 10; } } for(int i = c - 1;i >= 0;i --) { printf("%d",num[i]); } }