谷甚论高精除
  • 板块学术版
  • 楼主hhoppitreeMadeline
  • 当前回复4
  • 已保存回复4
  • 发布时间2020/7/15 13:21
  • 上次更新2023/11/6 23:06:05
查看原帖
谷甚论高精除
183609
hhoppitreeMadeline楼主2020/7/15 13:21

在某一道题中(具体就不说哪道题了),我确切的发现我的bug是由于高精除导致的,请问谁能帮我找找bug,蒟蒻万分感激!

BigInt operator/(int y){
	BigInt x=*this;
	BigInt res;res.len=x.len;
	int now=0;
	for(register int i=x.len-1;i>=0;i--){
		now+=x.num[i];
		res.num[i]=now/y;
		now%=y;
		now*=10;
	}
	while(!res.num[res.len-1])res.len--;
	return res;
}
BigInt operator/(BigInt y){
	BigInt x=*this;
	if(x<y){
		BigInt t;return t;
	}
	BigInt t;t.num[0]=1;
	BigInt l,r=x;l.num[0]=1;
	BigInt mid;
	while(l<r-t){
		mid=(l+r)/2;
		if(mid*y<x)l=mid+t;
		else r=mid;
	}
	if(x<r*y)return l;
	return r;
}
2020/7/15 13:21
加载中...