14.5 심사문제 오류
, 푸 푸님이 작성radius를 따로 구하지 않고 아래와 같이 한번에 계산해도,
area = 0.5 * M_PI * (diameter/2) * (diameter/2);
제대로 된 결과가 나오는데 심사를 통과하지 못했다고 합니다.
문제의 조건을 수정하시던지 심사시스템을 수정해주십시오.
Re: 14.5 심사문제 오류
, 도장_ 관리자님이 작성원의 지름: 4
반지름: 4 / 2 = 2
이 경우 원의 넓이는
원의 넓이: 반지름 * 반지름 * 3.14 = 2 * 2 * 3.14 = 12.56
문의하신 분의 코드
area = 0.5 * M_PI * (diameter/2) * (diameter/2);
코드를 해석하면
원의 넓이 = 0.5 * 3.14 * 2 * 2 = 6.28
코드가 원하는 정답은 12.56이고, 문의한 코드는 6.28입니다.
숫자만 출력된다고 올바르다고 확신하는 것은 초보뿐 아니라 프로그래머도 흔히 저지르는 실수입니다.
문제의 테스트 케이스를 보면
표준 입력: 8.2
표준 출력: 52.810169
입니다.문의한 코드의 출력은
26.405085입니다.
원의 넓이를 구하는 공식이 바뀐 게 아니라면 문의한 분이 틀렸습니다.
Re: 14.5 심사문제 오류
, 도장_ 관리자님이 작성계산을 두 번이나 반복하는 것보다는
계산한 결과를 저장하고 이용하는 것이 더 효율적인 코딩 습관입니다.
코딩 습관에 대해서는 어느 정도 학습한 이후에 코딩의 기술 시리즈를 보면 참고가 될 겁니다.