输入一个小于1000的正整数,打印n! = 1*2*3*...*n的值。
#include <iostream>
#include <cstring>
using namespace std;
const int maxn = 3000;
void fun(int n)
{
int i, j;
int f[maxn];
memset(f, 0, sizeof(f));
f[0] = 1;
for (i = 2; i <= n; i++)
{
int c = 0;
for (j = 0; j < maxn; j++)
{
int temp = f[j]*i + c;
f[j] = temp % 10;
c = temp / 10;
}
}
for (i = maxn-1; i >= 0; i--)
{
if (f[i] > 0)
{
break;
}
}
for (j = i; j >= 0; j--)
{
cout << f[j];
}
cout << endl;
}