用类似快速幂的思想用快速乘能求出前半的(x_hi * 3378380888563)%D ,找了篇介绍的文章( https://www.cnblogs.com/jaszzz/p/12692716.html)和代码: long long q_mul(long long a,long long b,long long mod) // 快速计算 (a*b) % mod { long long ans=0; while(b) { if(b&1) ans =(ans+a)%mod; b>>=1; a=(a+a)%mod; } return ans; }