【发布时间】:2012-09-05 18:23:51
【问题描述】:
我正在尝试解决the SPOJ problem PGCD,它询问最大公约数表中出现了多少个素数。
我想到的第一个想法是首先通过筛选生成素数。
然后,对于每个素数p,看看有多少对(a,b),其中a和 b 小于给定的界限,满足GCD(a,b)=p。
例如,有多少对小于 (20, 20) 满足 GCD(a,b)=7?
当然,如前所述,a 和 b 是有界的。
那么有可能反转 GCD 吗?还是这个解决方案完全无效?
【问题讨论】:
-
当然不是。你谈论素数。任何 2 个素数的 GCD 为 1。您对
rev_GCD(1)有什么期望?有无数对是有效的结果。 -
我期待那个计数......好像有多少对 (a,b) 满足这个
标签: c++ math primes greatest-common-divisor