如何找到 a,b<N 对的数量,使得 GCD(a,b) = x?

How can I find the number of pairs a,b<N such that GCD(a,b) = x?

本文关键字:GCD 使得 何找 lt      更新时间:2023-10-16

我正试图解决SPOJ问题PGCD,该问题询问最大公约数表中出现了多少素数。

我想到的第一个想法是首先通过筛选产生素数。

然后,对于每个素数p,看看有多少对(ab)满足GCD(a,b)=p,其中ab小于给定的边界。

例如,有多少对小于(20,20)满足GCD(a,b)=7?

当然,如前所述,ab是有界的。

那么,有可能逆转GCD吗?或者这个解决方案完全无效?

显然,GCD函数是不可逆的,因为,例如,

  • GCD(10,15)==5
  • GCD(5,15)==5

因此,如果你得到5,并试图猜测输入,这是不可能的。

我可能错过了一些东西,因为我不明白你在说什么关于边界,但我认为你有责任更好地解释这个问题。你到底有什么信息,你想计算什么信息?示例输入和输出将非常有用。还有校对和拼写检查。