citizen   7년 전

1부터 100000까지의 모든 값이 입력되는 경우까지 다 확인해봤을 때 문제가 없었는데,

40%대에서 계속 런타임에러가 발생합니다.

입력이 제대로 안 주어진 줄이 있는 것 같습니다.

/////////////////////////////         20170101 수정

제가 한번 세 가지 코드를 테스트 해보았습니다.

1. 테스트 케이스 개수만큼 숫자를 입력받은 경우

2. 테스트 케이스 개수와 상관없이 입력이 계속 주어진다고 가정한 경우

3. 정상적인 입력이 아닐 때 예외를 처리하는 경우 (ex 빈줄, 또는 수가 아니라서 파싱이 불가능

위 세가지 실험에서

 1번은 런타임에러가

2번은 오답이

3번은 통과

라는 결과를 얻었습니다.

테스트케이스들을 확인할 필요가 있습니다.

qhrrkfl2   7년 전

테스트를 어떻게 하셧는지 궁금해서 댓글을 답니다.
혹시 테스트 프로그램을 따로 만드셔서 돌리시나요?
그렇담 어케 만드셧는지 조언좀 듣곶 ㅏ헤헤

citizen   7년 전

그냥 원래 코드를 조금 변형해서 for문으로 1부터 100000까지 다 돌려봤습니다.


qhrrkfl2   7년 전

아참 런타임 에러가 뜨려면 문법오류 아닌가요?

citizen   7년 전

데이터가 잘못 주어져서 에러가 나는 경우도 있습니다

qhrrkfl2   7년 전

citizen님 저런 문제는 만약 그냥 틀렸습니다가 뜨면 입력케이스가 없다면 디버그가 어려울텐데

그럴경우 어떻게 푸는지 궁금해요 조언좀 해주세요~

수많은 케이스에다가 내 프로그램에서 답으로 나오는 숫자가 이게 정말 소수인가? 라는 물음에

사실 프로그램상으로 돌려서 디버그하려면 배보다 배꼽이 커지고

아니면 일일히 계산하자니 좀 힘들고 어케해야 할까요?

haja   7년 전

 assert(scanf("%d", &n) == 1);
이런식으로 해보니깐 런타임에러가 나네요. 

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