https://www.acmicpc.net/problem/5086
약수인 경우 : num1<num2 and gcd(num1, num2)>=2
배수인 경우 : num1>num2 and num1*num2/gcd(num1,num2)==num1
def gcd(a,b):
if b==0:
return a
else:
return gcd(b, a%b)
a,b=map(int, input().split())
while a!=0 and b!=0:
if a<b and gcd(a,b)>=2: #약수라면
print('factor')
elif a>b and (a*b)//gcd(a,b)==a: #배수라면
print('multiple')
else: #둘다 아니라면
print('neither')
def gcd(a,b):
if b==0:
return a
else:
return gcd(b, a%b)
최대 공약수 구하는 gcd 알고리즘.
a,b=map(int, input().split())
비교하려는 숫자 입력받기
while a!=0 and b!=0:
if a<b and gcd(a,b)>=2: #약수라면
print('factor')
elif a>b and (a*b)//gcd(a,b)==a: #배수라면
print('multiple')
else: #둘다 아니라면
print('neither')