为什么你谷和本地的运行结果不一样
  • 板块学术版
  • 楼主Dreeick
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/4/3 23:02
  • 上次更新2023/10/23 19:29:56
查看原帖
为什么你谷和本地的运行结果不一样
773371
Dreeick楼主2023/4/3 23:02

一份高精加法代码如下

#include <cstdio>
#include <algorithm>
#include <cstring>

class BigNumber{
private:
	int a[10000],len;
public:
	void input(){
		char ch;
		while(ch = getchar(),ch >= '0' && ch <= '9'){
			a[len++] = ch-'0';
		}
		std::reverse(a,a+len);
	}
	void print(){
		for(int i = len-1;i >= 0;i--){
			putchar('0'+a[i]);
		}
	}
	BigNumber(): len(0){
		memset(a,0,sizeof(a));
	}
	BigNumber operator +(const BigNumber &n) const{
		BigNumber tmp;
		tmp = n;
		for(int i = 0;i < len;i++){
			tmp.a[i] += a[i];
		}
		for(int i = 0;i < len;i++){
			if(tmp.a[i] >= 10){
				tmp.a[i] %= 10;
				tmp.a[i+1]++; 
			}
		}
		for(int i = 9999;i >= 0;i--){
			if(tmp.a[i]){
				tmp.len = i+1;
				break;
			}
		}
		return tmp;
	}
};

int main(){
	BigNumber a,b;
	a.input();
	b.input();
	(a+b).print();

	return 0;
} 

输入

123
123

本地运行结果

246

你谷运行结果

123

去了其它OJ交了这份高精加代码,也是通过的

这是什么神奇的问题?

2023/4/3 23:02
加载中...