用于查找 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
热门推荐
6 保研的祝福语简短
10 年轻20岁祝福语简短
11 朋友结婚祝福语信息简短
12 女孩婚礼贺卡祝福语简短
13 30段点歌简短祝福语
14 虎年春节祝福语图文简短
15 写给后妈祝福语大全简短
16 简短回复生日祝福语
17 校长送毕业祝福语简短
18 毕业立体贺卡祝福语简短