同余方程组解的个数 (hdu1573)
2019-04-14 21:18发布
生成海报
由此入门
- 同余方程组(模非互质)可以通过合并方程求解。
- 假设以上都知道的。或者点击打开链接
- 通过以上方法求得最小正整数解x 方程组的模底为lcm=LCM(a1,a2...an)
- 通解:
![](data/attach/1904/ux4bsbhmc9wdwbf8ou8t82hdvo7f2ea9.jpg)
- 有解:
![](data/attach/1904/9892zqmsxibw34tal4g2560v2n0w3skm.jpg)
- 无解:
![](https://img-blog.csdn.net/20180220223140638?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva2FsYTA=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
- 注意:有解时,若a=0 则t=0去除,题目要求正整数。
#include
#define ll long long
int x,y;
int d;
int A[20];
int B[20];
void exgcd(int a,int b){
if(b==0){
d=a;
x=1;
y=0;
return ;
}
exgcd(b,a%b);
int t=x;
x=y;
y=t-(a/b)*y;
}
int mod(int x,int n){
return (x%n+n)%n;
}
//x=b[i](mod c[i])
ll equation(int b[],int c[],int n){
for(int i=1;iN)printf("0
");
else {
//x+lcm*t<=N
ll lcm=1;
for(int i=0;i
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮