求最多约数个数(暴力破解版VS质因子分解)
质因子分解:
#质因子分解
#n=p1**a1+p2**a2+...+pn**an
#num=(1+a1)(1+a2)...(1+an)
def Prime_factorization(num):
count = 1
x = 2
while x * x <= num:
temp = 1
while num % x == 0:
temp += 1
num /= x
count *= temp
x += 1
return count * (1 + (num > 1))
m,n = map(int, input().split())
if Prime_factorization(m)>Prime_factorization(n):
print(Prime_factorization(m))
exit()
print(Prime_factorization(n))
暴力破解版:
#查找约数最多的数
def yueshu(num):
count = 0
for j in range(1,num+1):
if num%j == 0:
count += 1
return count
m,n = map(int, input().split())
max = 0
for i in range(m,n+1):
if yueshu(i) > max:
max = yueshu(i)
print(max)
这个是查找俩个数范围内的最多约数个数