为啥到50就炸了,明明49还行的......
  • 板块灌水区
  • 楼主North_encounter
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/7/7 18:00
  • 上次更新2024/7/7 20:33:59
查看原帖
为啥到50就炸了,明明49还行的......
850632
North_encounter楼主2024/7/7 18:00
#include<bits/stdc++.h>
using namespace std;
#define int long long
int n;
int val;
int a[1000001];
int num[10001];
int factorial(int k){
	val=1;
	for(int i=1;i<=k;i++){
		for(int j=1;j<=val;j++){
			a[j]=a[j]*i;
		}
		for(int j=1;j<=val;j++){
			if(j==val&&a[j]>=10){
				val++;
				int temp=a[j]/10;
				a[j]=a[j]%10;
				a[j+1]=a[j+1]+temp;
				break;
			}
			if(a[j]>=10){
				int temp=a[j]/10;
				a[j]=a[j]%10;
				a[j+1]=a[j+1]+temp;
			}
		}
	}
	return val;
}
void addition(){
	
}
void chushihua(){
	a[1]=1;
	for(int i=2;i<=10001;i++){
		a[i]=0;
	}
}
signed main(){
	cin>>n;
	
/*	for(int i=1;i<=n;i++){
		chushihua();
		factorial(i);
		addition();
	}*/
	chushihua();
	int p=factorial(n);
	for(int i=p;i>=1;i--){
		cout<<a[i];
	}
	
	
	
	
	
	return 0;
}
2024/7/7 18:00
加载中...