[BOJ] 01684 - 같은 나머지

[BOJ] 01684 - 같은 나머지

Euclidean 함수에서 m 은 0이 될 수 있는데, 이때 나머지 연산자의 분모 부분이 0이 되기에 Runtime Error 가 발생하기에 주의해야 한다.

import java.util.* fun Euclidean(N: Int, M: Int): Int { var n = N var m = M if (n < m) n = m.also { m = n } while (m != 0) { n = m.also { m = n % m } } return n } fun main() = with(Scanner(System.`in`)) { var N = nextInt() - 2 var a = nextInt() var b = nextInt() var gcd = b - a while (N-- > 0) { a = b.also { b = nextInt() } gcd = Euclidean(gcd, b - a) } if (gcd < 0) gcd *= -1 println(gcd) }

[*] TestCase는 Github 에서 확인하실 수 있습니다.

from http://onsoim.tistory.com/152 by ccl(A) rewrite - 2021-11-13 14:27:34