input이 500,000,000,000 이면
output은 1,968,190,469,967,719,331 입니다만
작성자님 소스는 1,968,190,469,967,719,424
를 출력합니다.
원인은 pow 함수입니다.
pow 함수의 원형을 보시면 아시겠지만 정수의 연산이 아니라 double형 실수의 연산이기 때문에 수가 커질 수록 오차가 생길 수 있습니다.
되도록이면 알고리즘에서는 pow 함수는 지양하시는 게 좋습니다.
곱셈을 사용하는 알고리즘으로 바꿔보세요.
seanrocket17 6년 전
n을 이진수로 나타내어 vector v에 저장하고 그 걸 다시 3진법으로 생각하여서 ans을 구했습니다
같은 3의 거듭제곱을 0번, 1번 밖에 못 더하므로 2진법을 나타냈습니다.
제출하면 바로 틀렸다고 나오는데 왜 그럴까요????