求解a*x = b (mod p)
#include<bits/stdc++.h> using namespace std; int exgcd(int a,int b,int& x,int& y) { int d=a; if(b){ d=exgcd(b,a%b,y,x); y-=(a/b)*x; } else{ x=1;y=0; } return d; } int gcd(int a,int b) { return !b?a:gcd(b,a%b); } int main() { int a,b,p; scanf("%d%d%d",&a,&b,&p);//计算 a*x = b (mod p) int x,y; int d=exgcd(a,p,x,y); if(b%d!=0) printf("-1\n"); else { x=(x)*b/d; x+=p; x%=p; for(int i=1;i<10;i++) { cout<<(x+(i-1)*p/d)<<endl; } } }