zakelstorm   1년 전

제가 생각한것은

N번째 징검다리를 밟기 위해 최대한 많은 징검다리를 밟는다는것은

1+2+3+...+s + α = N (1~s는 1씩증가하는 연속된 숫자, α는 s보다 큰 수)

ex) 9(N) = 1+2(s)+6(α)

56(N) = 1+2+3+...+9(s)+11(α)


이면 된다고 생각해서 공식을 이용해서 이렇게 코드를 짰습니다.

어떤 점에서 잘못된 생각을 가졌던 걸까요?


namnamseo   1년 전

식을 검토해보지는 않았지만 아마 sqrt가 실수 연산이라서 생긴 오류같아요.

round()를 해보세요.

zakelstorm   1년 전

오 감사합니다. 단번에 됐습니다.

실수는 정수로 바꿔줘야 올바른 결과가 나오는군요

namnamseo   1년 전

다행이네요! 그래서 sqrt는 정수만 써서 이분 탐색으로 구하기도 해요.

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