tncks0121   6년 전

원문: l must be printed exact to three digits to the right of the decimal point.

답이 0.305958198193183131... 이라면 0.305을 출력해야 하지 않을까요?

sgchoi5   6년 전

소수점 셋째 자리까지 출력한다. 라고 되어 있는데요.. 보통 이런 경우에 반올림 후 버리더라고요.

C 에서도 .3f 라는 말의 의미는 소수점 셋째 자리까지 출력하는데 4 번째 자리를 반올림한 값을 의미합니다.

tncks0121   6년 전

@sgchoi5 

  1. 그런 관습이 존재한다고 생각하지 않는데 (검속해서 10개 봤는데 모두 반올림하여 셋째 자리까지 출력한다는 식으로 표기되어 있네요) 링크를 얻을 수 있을까요?
  2. 설령 그런 관습이 존재한다 하더라도 한국어 번역문과 영어 원문을 그대로 해석했을 때 반올림을 해야 한다는 도출이 가능하다고 생각하지 않습니다. 개인적으로는 %.3f로 아무 생각 없이 출력하는 분들을 위한 소위 참교육(?) 문제로 받아들였습니다.

sgchoi5   6년 전

c/c++ implementation 에서 printf 에서 실수형에 대해서 precision 을 지정하는 경우에 반올림해서 처리를 하고 있으니,

문제에서도 통용적으로 반올림을 한 값으로 쓴다는 의미입니다. 

만약, c/c++ implementation 에서 precision 값 이후를 모두 버린다면 문제에서도 버리는 식으로 했겠지요..

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