看到网络上有几种快速乘
inline LL guisuMul(LL a, LL b, LL m){
LL d =((long double)a / m * b + 1e-8) ;
LL r = a * b - d * m ;
return r < 0 ? r + m : r ;
}
ll Dmul(ll a,ll b,ll mod) {
return (a*b - (ll)((long double)a/mod*b)*mod+mod)%mod;
}
但是我想计算 1017×1017mod998244353 时它们都会返回负数,请问是我使用方式不对吗