下面的递归函数在什么时候可以正确求出使得 ax≡b(modp)ax \equiv b \pmod pax≡b(modp) 的最小的非负整数 xxx ?
int ax_mod_p_is_b(int a,int b,int p) { long long ans; if(p==1||b==0) ans=0; else if(a==1) ans=b; else ans=(1ll*b+1ll*p*ax_mod_p_is_b(p%a,((-b)%a+a)%a,a))/a; return (int)ans; }