Pythonコードで公約数を表示する。
def divisor_array(num):
'''Extract divisors
'''
array = []
for i in range(1,num+1):
if num % i == 0:
array.append(i)
return array
def common_divisor_array(num,num2):
'''Extract common divisor
'''
array = []
for item in num:
if item in num2:
array.append(item)
return array
num = divisor_array(56)
num2 = divisor_array(84)
num3 = common_divisor_array(num,num2)
print(num3)
2つの数の最大公約数を取得し、その約数を表示する=公約数となる。
その処理で表示するコードは以下
def common_divisor_array(num,num2):
'''Extract common divisor
'''
array = []
min_int = num if num < num2 else num2
b = True
tmp = None
while b:
for i in range(2,min_int+1):
if num % i == 0 and num2 % i == 0:
num = num / i
num2 = num2 / i
if tmp == None:
tmp = i
else:
tmp = tmp * i
break
if i == min_int:
b =False
array = divisor_array(tmp)
return array
def divisor_array(num):
'''Extract divisors
'''
array = []
for i in range(1,num+1):
if num % i == 0:
array.append(i)
return array
num3 = common_divisor_array(18,24)
print(num3)
