在 Python 中寻找 n 的任何真除数是偶完美平方数的概率的程序
假设我们有一个数n,我们必须找出n的任何真除数是偶完美平方的概率。
因此,如果输入像n=36,那么输出将是1/8,因为36有8个自因数,它们是{1,2,3,4,6,9,12,18},其中包括只有一个数(4)是完全平方和偶数。
示例
让我们看看以下实现以获得更好的理解-
from math import gcd
def solve(n):
if n % 4 != 0:
return 0
else:
nc = n
ptr = 2
l = []
while ptr <= nc ** 0.5:
a = 0
while nc % ptr == 0:
a += 1
nc = nc / ptr
if a > 0:
l += [a]
ptr += 1
if nc > 1:
l += [1]
k = l[0]
d = k + 1
no = int(k / 2)
for i in l[1:]:
d = d * (i + 1)
no *= int(i / 2) + 1
d = d - 1
if int(n ** 0.5) ** 2 == n:
no -= 1
g = gcd(d, no)
d = d //G
no = no //G
if no == 0:
return 0
else:
return str(no) + '/' + str(d)
n = 36
print(solve(n))输入
4, 27输出结果
1/8
热门推荐
10 朋友新年祝福语大全 简短
11 新年祝福语简短大方兔年
12 搬新家礼物祝福语简短
13 同学见面花束祝福语简短
14 五一假期祝福语幽默简短
15 离职欢送敬酒祝福语简短
16 对学弟的祝福语简短
17 考老师辞职祝福语简短
18 祝福语驱散霉运的话简短