关于快速乘
  • 板块学术版
  • 楼主PPL_
  • 当前回复18
  • 已保存回复18
  • 发布时间2021/11/18 16:50
  • 上次更新2023/11/4 00:14:57
查看原帖
关于快速乘
137437
PPL_楼主2021/11/18 16:50

有一种众所周知的 O(1)O(1) 快速乘法:

typedef long long LL;
LL gsc(LL x,LL y,LL MOD)
{
	LL ret = x*y - (LL)((long double)x/MOD*y+0.5)*MOD;
	return (ret%MOD+MOD)%MOD;
} 

它的原理是什么?是 100% 正确吗?为什么要加0.5,是哪里会有精度问题吗?

求大佬解答 /kel

2021/11/18 16:50
加载中...