1번 코드는 tmp 변수 초기화 시 (20번째 줄) 절대값을 해주지 않아 arr[1]<arr[0]인 경우 오류가 납니다.(반례 : 3/5 3 7 정답:2 출력: 없음)
2번 코드는 수를 출력하는 과정에서 gcd의 크기 n이 크다면 최대 n번의 연산을 하기 때문에 시간 초과 오류가 난 것 같습니다. 3번처럼 sqrt(n)이하로 나누는 것으로 고친다면 굉장히 빨라질 것입니다.
3번 코드는 일단 출력이 잘못 된것 같습니다. 두번 출력됩니다.
입력: 3/16 32 48
출력:
16 2 8 4
2 4 8 16
projung0722 2년 전
1,2,3번 코드가 왜 틀렸는지 잘 모르겠습니다. 도와주십쇼!ㅠ