用于查找 x 之间的对数的程序,其乘法是 x 并且它们在 Python 中互质
假设有一个函数f(x),它计算(p,q)对的数量,使得
1<p<=q<=x
p和q互质
p*q=x所以如果我们有n。
我们必须为1到n范围内的所有i找到总和f(x[i])。
因此,如果输入类似于12,那么输出将是3,因为x值的范围从1到12。
当x=6时,有效对是(2,3)所以f(6)=1
当x=10时,有效对是(2,5)所以f(10)=1
当x=12时,有效对是(3,4)所以f(12)=1
所以总共有3对。
示例
让我们看看以下实现以获得更好的理解-
from math import sqrt, gcd
def solve(n):
count = 0
sqr = int(sqrt(n)) + 1
for base in range(2, sqr):
for i in range(1, min(base, n //基数-基数+1)):
if gcd(base, i) != 1:
continue
count += (n - i * base) //(基地*基地)
return count
n = 12
print(solve(n))输入
12输出结果
3
热门推荐
10 祝女儿简短祝福语大全
11 大学新年祝福语简短创意
12 元旦适合的祝福语简短
13 朋友出远门祝福语简短
14 初六简短的祝福语
15 祝男孩生日祝福语简短
16 同事调离的祝福语简短
17 拜年红包的祝福语简短
18 妈妈生日祝福语简短励志