scudeto   2년 전

계속 안되길래 1e9를 1000000000으로 바꾸니 맞다고 하는데 왜 그런지 도저히 모르겠습니다.

wider93   2년 전

1e9는 실수이고 100,000,000은 정수입니다.

C++같은 언어에서야 변수의 타입을 앞에 선언하니 1e9로 적어도 정수로 변환되지만 파이썬에서는 표현형이 곧 타입입니다. pow(10,9)나 10**9 등을 쓰시는 것이 좋습니다.

djm03178   2년 전

예제 1번을 넣어보시면 출력은 9가 되어야 하는데 9.0으로 출력하고 있음을 보실 수 있습니다. 출력은 특별한 언급이 없는 한 항상 글자 단위로 정확하게 같게 출력해야 합니다.

scudeto   2년 전

그러면 print(int(sum(dp[N])%1e9)) 는 왜 안 되는 것인가요??

qvixnh22   2년 전

1e9는 부동소수점 표현이고, 나머지 연산 과정에서 오차가 발생할 수 있습니다.

int(1e9)로 수정한 코드는 AC를 받습니다.

scudeto   2년 전

오 그렇군요, 다들 감사드립니당

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