koko9141   2년 전

python으로 푸실 때 참고하세요.

int(10^18 /3) 로 계산하면 값이 이상하게 나옵니다.

x//3 써야 값이 제대로 나오네요

ex)

input : int(100000000000000000000000000000000000000000000000000000000/3)

output : 3333333333333333095224329864611066394735110099693679411

intput : 1000000000000000000000000000000000000000//3

output : 333333333333333333333333333333333333333

wider93   2년 전

int 함수는 문제가 없고, /3을 하면 실수 연산이 되는데 그 때 정확도가 손실됩니다.

djm03178   2년 전

int를 사용했기 때문에 변형된 것이 아니라, float가 10^18/3이라는 값을 정확하게 표현할 수 없기 때문에 그 부분에서 이미 정보의 손실이 일어난 것입니다. int가 한 일은 그 손실된 값의 소수점 아래 부분을 버리는 것밖에 없습니다.

koko9141   2년 전

감사합니다!!

댓글을 작성하려면 로그인해야 합니다.