计算并分别输出1!,2!,3!,…··n!

计算并分别输出1!,2!,3!,…··n!,不需要相加

#include <cstdio>
#include <iostream>
#include <cstring>
using namespace std;
void jiecheng(int p[],int m){
    int jw = 0;
    int i = 0;
    int tmp;
    for (int i = 0;i < 1000000;i++){
        tmp = jw;
        jw = (p[i] * m + jw) / 10;
        p[i] = (p[i] * m + tmp) % 10;
    }
}
int main(){
    int m;
    cin >> m;
    for (int i = 1;i <= m;i++){
        int ans[1000000];
        memset(ans,0,sizeof(ans));
        ans[0] = 1;
        int n = i;
        for (int i = 2;i <= n;i++) jiecheng(ans,i);
        int k = 999999;
        while (!ans[k]){
            k--;
        }
        while (k >= 0){
            cout << ans[k];
            k--;
        }
        cout << endl;
    }
    return 0;
} 
#include <stdio.h>
int main()
{
    int i,n;
    long long r = 1;
    scanf("%d",&n);
    for (i = 1;i<=n;i++)
    {
        r*=i;
        printf("%d! = %lld",i,r);
    }
    return 0;
}