**ll i=b1+ceil((l-b1)1.0/a1)a1; ll end=min(r,lcm+l); for(;i<=end;i+=a1) { if(i>=b2&&(i-b2)%a2==0) { printf("%lld",((r-i)/lcm)+1); return 0; } } printf("%lld",0); 直接这样写不就行了吗,为何要分治?这样不是反而更快吗?