我直接计算的方程组,为啥只通过20%...

0
0
int64_t externGcd(int64_t a, int64_t b) {
   int64_t t = 0;
   while ((t*b + 1) % a != 0) {
      t += 1;
   }
   return (t*b + 1) / a;
}

这样不就直接计算出结果了么? 对于a*x+b*y=1有解: [x1]=k*b+1/a [y1]=-k*a 将k=t/a [x1]=(t*b+1)/a [y1]=-t 这里只需要知道[x1]>0的第一个整数就可以. 不知道错在哪里了...

1 answer(s)

0

是不是因为没有考虑无解的情况

write answer 切换为英文 切换为中文


转发分享