Skip to content

Instantly share code, notes, and snippets.

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