Java中大数BigInteger类的gcd方法底层是欧几里得算法 理论上是最优算法 时间复杂度为O((log(max(a, b)))^2) 但是 BigInteger的运算需要考虑到操作数的位数,特别是在位数相差较大时,性能可能稍有影响。 如果两个大整数 a 和 b 的位数相等,那么时间复杂度可以接近 O(log(a)),其中 a 是位数。 如果两个大整数的位数不相等,BigInteger会执行多次模运算和移位操作来逐步减小问题规模,这些操作可能需要多次迭代,导致时间复杂度稍微增加。 你看题目 a是大数 b是32位