求问关于光速乘的正确性
  • 板块学术版
  • 楼主coder_dyh
  • 当前回复19
  • 已保存回复20
  • 发布时间2025/6/19 14:41
  • 上次更新2025/6/20 15:34:40
查看原帖
求问关于光速乘的正确性
780535
coder_dyh楼主2025/6/19 14:41

rt,网上这样的光速乘代码

long long mul(long long a, long long b) {
	long long rt = a *b - ((long long)((long double)a / mod * b + 0.5)) * mod;
    return rt < 0 ? rt + mod : rt;
}

在同样的溢出次数下,正确性是可以保证的
但是,如果极端情况
前面的ab>LLONG_MAXa*b>LLONG\_MAX ,后面那部分却没有超出
aba*b就会减少LLONG_MAX+1LLONG\_MAX + 1
我们得到的差值是否会变为
原差值LLONG_MAX1原差值-LLONG\_MAX - 1
那这能一样吗?

2025/6/19 14:41
加载中...