Algorithm/Baekjoon

[백준 문제풀이 : 5086번] 파이썬 - 배수와 약수

Komorebi__ 2023. 9. 5. 10:58

 

일반 수학문제들에 비해 난이도가 굉장히 쉬워졌다.

보자마자 코드를 바로바로 써내려갈 수 있었다.

 

처음에 썻던 코드가 바로 이것.

while True:
    a,b = map(int, input().split())
    if a and b == 0:
        break
    if  b % a == 0:
        print("factor")
    elif  a % b == 0:
        print("multiple")
    else:
        print("neither")

근데 자꾸 런타임 오류라고 뜬다.

뭐가 문제인지 모르겠어서 구글링도 해보고 했는데 언뜻보기에는 다 똑같은 식으로 보인다.

딱 한가지 다른 점이있다면 나는 a and b == 0 으로 썻지만 다른사람은 둘다 0과 같다고 따로 표기를 한 점일까?

 

while True:
    a,b = map(int, input().split())
    if a == 0 and b == 0:
        break
    if  b % a == 0:
        print("factor")
    elif  a % b == 0:
        print("multiple")
    else:
        print("neither")

속는 셈치고 그대로 처음에 브레이크를 걸어주는 if문을 살짝 바꿨다.

근데 겨우 이거 하나 고쳤다고 런타임오류가 뜨지않는다...

 

무슨 차이가 있는지 왜 오류가 나는지 아는 사람이 있다면 알려주길 바람.. ㅠ