Skip to content

Instantly share code, notes, and snippets.

@miracle0k
Created May 4, 2013 22:24
Show Gist options
  • Save miracle0k/a27307a9484e9642abd4 to your computer and use it in GitHub Desktop.
Save miracle0k/a27307a9484e9642abd4 to your computer and use it in GitHub Desktop.
/*
앞에서부터 읽을 때나 뒤에서부터 읽을 때나 모양이 같은 수를 대칭수(palindrome)라고 부릅니다.
두 자리 수를 곱해 만들 수 있는 대칭수 중 가장 큰 수는 9009 (= 91 × 99) 입니다.
세 자리 수를 곱해 만들 수 있는 가장 큰 대칭수는 얼마입니까?
*/
object p04 {
def isPalindrome(n : Int) : Boolean = {
n == n.toString.reverse.toInt
} //> isPalindrome: (n: Int)Boolean
var maxPalindrome = -1; //> maxPalindrome : Int = -1
for (i <- 100 until 1000) {
for (j <- 100 until 1000) {
val n = i * j
if (isPalindrome(n) == true && maxPalindrome < n) {
maxPalindrome = n
}
}
}
println("가장 큰 대칭수 :" + maxPalindrome) //> 가장 큰 대칭수 :906609
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment