N find the factorial of large numbers!

#include<cstdio>
#include<iostream>
int s1[100005];//I don't know why the array definition runs very slowly outside, and it runs much faster if it is defined in main.
using namespace std;
intmain()
{

	int a;
	//scanf("%d",&a);
	cin>>a;
	int temp;
	int digit=1;
	int num=0;
	
	s1 [0] = 1;
	for(int i=2;i<=a;i++)
	{
		num=0;
		for(int j=0;j<digit;j++)
		{
			temp=s1[j]*i+num;
			s1[j]=temp%10;
			num=temp/10;
		}		
		
		while(num)
		{
			s1 [digit] = num%10;
			num/=10;
			digit++;
		}
	}
	for(int i=digit-1;i>=0;i--)
	{
		printf("%d",s1[i]);
	}
}

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325935489&siteId=291194637