75分求调,悬关
  • 板块灌水区
  • 楼主L_H_H
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/8/16 12:38
  • 上次更新2024/8/16 15:27:52
查看原帖
75分求调,悬关
1405257
L_H_H楼主2024/8/16 12:38

rt,题面

#include<iostream>
#include<algorithm>
using namespace std;
long long n,a[100000],b[100000],la=1,maxx=0;
int main() {
	cin>>n;
	a[1]=1;
	for(int g=1; g<=n; g++) {
		for(int i=1; i<=la; i++) {
			a[i]*=g;
		}
		for(int i=1; i<=la; i++) {
			a[i+1]+=a[i]/10;
			a[i]%=10;
		}
		while(a[la+1]>0)
			la++;
		maxx=max(la,maxx);
		for(int i=1; i<=maxx; i++) {
			b[i]+=a[i];
			b[i+1]+=b[i]/10;
			b[i]%=10;
		}
//		for(int i=1; i<=maxx; i++) {
//			if(b[i]>=10) {
//				b[i]-=10;
//				b[i+1]+=1;
//			}
//		}
		while(b[maxx+1]>0)
			maxx++;
	}
	for(int i=maxx; i>=1; i--)
		printf("%d",b[i]);
}
2024/8/16 12:38
加载中...