[help] 25sc, dk why
查看原帖
[help] 25sc, dk why
963476
ms_xg_mx楼主2024/6/29 14:01
#include<bits/stdc++.h>
using namespace std;
short sum[100];
short num[70];
void reset(){
	for(int i=0;i<70;i++){
		num[i]=0;
	}
}
void multiply(int x){
	for(int i=0;i<70;i++){
		num[i]*=x;
	}
	for(int i=0;i<70;i++){
		if(num[i]>10){
			num[i+1]+=num[i]/10;
			num[i]%=10;
		}
	}
}
void add(){
	for(int i=0;i<70;i++){
		sum[i]+=num[i];
	}
	for(int i=0;i<100;i++){
		if(sum[i]>10){
			sum[i+1]+=sum[i]/10;
			sum[i]%=10;
		}
	}
}
void input(int x){
	int i=0;
	while(x>0){
		num[i]=x%10;
		x/=10;
		i++;
	}
}
void print(){
	bool f=0;
	for(int i=99;i>=0;i--){
		if(sum[i]!=0) f=1;
		if(f) cout<<sum[i];
	}
}
void testprint(){
	bool f=0;
	for(int i=69;i>=0;i--){
		if(num[i]!=0) f=1;
		if(f) cout<<num[i];
	}
	cout<<endl;
}

int main(){
    int n;
    n=10;
    for(int i=1;i<=n;i++){
		reset();
		input(i);
    	for(int j=i-1;j>0;j--){
			multiply(j);
		}
		//testprint();
		add();
	}
	print();
	return 0;
}

想法:

^&没$#有%`想@-法*!

不知道为什么过不了

record:record: record

大佬救我!!!我怎么高精度都不会了!!!

2024/6/29 14:01
加载中...