TLE

yyggh337 Reply 4 years 26 weeks ago
d가 a와 b의 최대공약수로 나누어지면 해가 존재한다는 것을 이용해서 무한루프를 빠져나가려고 했는데 gcd=1이면 제 코드로는 무한루프를 빠져나갈 수 없었습니다. 어떻게 해야 빠져나갈 수 있을까요?
withcs2 Reply 4 years 26 weeks ago
지금 코드는 gcd=1일 때도 루프를 잘 빠져나오고 있습니다. 1 3 5 1 1 2 2 3 이 결과들은 제대로 나와요 2 3 5 1 2 2 3 2 2 2 3 3 5 1 여기서 문제가 생겼습니다. 코드 중간 중간에 printf("%d %d\n",end,gcd);를 넣어보거나 비주얼스튜디오라면 디버깅을 활용해보세요 참고로 int function(int x){ for( int i = x - 1; i > 1; i-- ){ if( x % i ) return i; } return -1; } 이런 식으로 함수에서 return 으로 반복문을 빠져나오면 end 없이 깔끔하게 코딩할 수 있습니다.