gkfkagkfka12   5년 전

실수에서 정수로 바꾸는 것도 0.5 더해준다음 100 곱해주기 때문에 정확하게 변환 될 것이고,

UKP 알고리즘도 최대 max인 경우만 선택해주는데 어디서 틀리는지를 모르겠습니다.

도움을 구합니다.

solveit   5년 전

두가지 문제가 있습니다.

  1. int_m의 계산을 루프 밖에서 딱 한번만 합니다.
  2. (int)((m + 0.5) * 100) 가 아니라 (int)(m * 100 + 0.5)가 되어야 합니다. 예를 들어서 m = 95.5라고 했을때 전자는 9600이 되지만 원하는건 9550입니다.
  3. (int)((p + 0.5) * 100) 도 2와 같습니다.

gkfkagkfka12   5년 전

와 1번은 놓쳤고 2번은 확실히 이해됬네요. 100을 곱해도 실수가 값이 정확하지 않을 수 있어서 0.5를 더해주는 거 맞죠?

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