int CRT(int a[],int m[],int n)
{
int M = 1;
int ans = 0;
for(int i=1; i<=n; i++)
M *= m[i];
for(int i=1; i<=n; i++)
{
int x, y;
int Mi = M / m[i];
extend_Euclid(Mi, m[i], x, y);
ans = (ans + Mi * x * a[i]) % M;
}
if(ans < 0) ans += M;
return ans;
}
中国剩余定理
最新推荐文章于 2024-12-25 18:28:40 发布
本文介绍了一个使用C++实现的中国剩余定理(CRT)算法,该算法通过求解一组同余方程来找到满足特定条件的整数解。代码中详细展示了算法的具体步骤,包括扩展欧几里得算法的调用,用于求解每个同余方程的特解。
382

被折叠的 条评论
为什么被折叠?



