快速乘(O(1))

inline long long multi(long long x,long long y,long long mod)
{
	long long tmp=(x*y-(long long)((long double)x/mod*y+1.0e-8)*mod);
	return tmp<0 ? tmp+mod : tmp;
}

PS:可靠性还未多次验证,会找时间测试。对于mod极大的情况会有难以避免的误差

posted @ 2018-08-10 10:50  __orange  阅读(686)  评论(0编辑  收藏  举报