그냥 컴비네이션 구하는거잖아
#N point to M , How many Bridge can be made
#can't be cross
def fact(n):
if n == 0: return 1
elif n == 1: return 1
return n * fact(n-1)
trial = int(input())
for _ in range(trial):
n, m = input().split()
n, m = int(n), int(m)
print(int(fact(m)/(fact(m-n)*fact(n)))) #it does well
#print(int(fact(m)/fact(m-n)/fact(n))) #it fucked up why?
#print(int((fact(m)/fact(m-n))/fact(n))) #it fucked up why?
근데 위에처럼 분모를 두개 곱해주고 나눠주면 정답처리되고
아래 2개처럼 그냥 두번 나누면 오답처리 되더라
왠지 아는 사람 있어?
어제 고민하다 잤는데 모르겠넹
오버플로우 ㅇㅅㅇㅋㅋㅋ
맨 위에가 답이라고? ㅇㅅㅇㅋㅋㅋ
어디서 오버플로우가 발생한다는거야?
파이썬이구나 ㅇㅅㅇㅋㅋㅋ
ㅇㅇ 맨위는 정답처리되더라
파이썬은 애초에 정수나눗셈도 아닐텐데!!! ㅇㅅㅇㅋㅋㅋ
먼가 이상해지는부분이 생기는걸까 ㅇㅅㅇㅋㅋㅋ
//을 써보렴 ㅇㅅㅇㅋㅋㅋ
ㅇㅇㅇ 그건 아는데 그냥 저렇게 했을때 왜 에러가 났는지 궁금했으.. 내가 파이썬이 미숙해서 내가 모르는게 있나 싶기도 했고
실수 나눗셈이라서 정밀도 문제같은데!! ㅇㅅㅇㅋㅋㅋ
부동소수점 이슈같은데
그게 맞겠다 답변 고마워