9527번 - 1의 개수 세기
7번 if 를 K<=0으로 고치면 되더라고요
왜인지는 잘 모르겠습니다...
math.log2 대신에 K.bit_length()-1 쓰시면 해결됩니다.
log2(9007199254740991)
log2(9007199254740992)
log2(9007199254740993)
전부 같은 값으로 나오는거 보면 내부적으로 오차가 발생하나 봅니다.
2^49 즈음부터 이상해지네요
와 감사합니다! log2가 리턴하는 값이 반올림(?) 되다보니 do에 파라미터로 0보다 작은 값이 들어갈 수도 있나보네요.
오래된 질문에 답변주셔서 감사합니다.
댓글을 작성하려면 로그인해야 합니다.
2channelkrt 3년 전 1
아무리 생각해봐도 원인이 떠오르지 않아 질문을 드려봅니다.