반복문 종료 조건 관련(2) - 카테고리 구분해서 재업로드

dowoon7280 Reply 4 years 4 weeks ago
제출번호 189544번 프로그램을 실행해서, Sample Input인 2를 입력하면, 맨 하단에 '1.41421 < sqrt(2) < 1.41421' 이 출력되는 오류가 발생됩니다. while문 조건을 수정해서 끊어보려고 노력하였으나 변수가 실수형이여서 쉽지가 않네요;; 문제에서 출력할 때는 소수점 5째자리에서 반올림하라 해서 출력은 %.5lf를 찍는 방식으로 처리했는데, 문제 내 '반올림한 값이 최댓값과 최솟값을 반올림한 값이 같지 않을 동안 반복한다.' 에서는 몇 번째 자리에서 반올림해야 하는지 잘 모르겠습니다. Sample Input과 동일한 출력이 나오도록 예외처리를 한 제출번호 189542번 프로그램도 Wrong Answer가 떴는데, 혹시 해당 문장에서 몇번째 자리에서 반올림해서 처리하는 것이 맞는 건지, 그리고 프로그램에서 어떤 부분에 문제가 있는 것인지 알려주시면 감사하겠습니다.
withcs2 Reply 4 years 4 weeks ago
n을 반올림해서 정수로 만든 값은 floor(n+0.5)입니다. 이걸 응용해서 소수점 다섯번째 자리까지 반올림 한 값을 구해보세요 반복 조건은 출력할 때 왼쪽과 오른쪽이 같지 않을 동안 반복하면 됩니다 ceil은 반올림이 아니라 올림입니다. %lf로 출력해보면 왜 '1.41421 < sqrt(2) < 1.41421'이 나오는 지 알 수 있을거예요 이제보니 문제 문장이 매끄럽지가 않네요ㅜㅜ 문제 수정하였습니다 감사합니다
dowoon7280 Reply 4 years 4 weeks ago
말씀하신 방법 응용해서 코드 수정해서 제출(189582버)했습니다. 그럼에도 불구하고 이번에도 WA가 발생되는데 혹시 어떤 부분에 문제가 있는 것인지 알려주실 수 있으신가요?