'palindrome'에 해당되는 글. 1건

  1. 2009/05/11 F#, Project Euler - Problem #4 (2)


해석: 두 개의 세자리 숫자를 곱해서 만들 수 있는 가장 큰 palindrome을 만드시오.


 직관적으로..
 - 모든 세자리 숫자의 조합을 만들어서 이를 곱한다.
 - 이 값이 Palindrome 이지 검사한다.
 - Palindrome 중 가장 큰 숫자를 추출한다.

#light

 

let is_parlindrome x =

    let rec reverse y result =

        match y with

        | 0 -> result

        | _ -> (reverse (y/10) (result*10 + y%10))

    (reverse x 0) = x

 

[ for i in [100 .. 999] do

        for j in [100 .. 999] do

            yield i*j ]

    |> List.filter is_parlindrome

    |> Seq.max

    |> printfn "Problem #4 = %d"





'내 생산물' 카테고리의 다른 글

F#, Project Euler - Problem #12  (0) 2009/05/12
F#, Project Euler - Problem #20  (0) 2009/05/12
F#, Project Euler - Problem #5  (0) 2009/05/11
F#, Project Euler - Problem #4  (2) 2009/05/11
F#, Project Euler - Problem #3  (0) 2009/05/10
F#, Project Euler - Problem #1  (2) 2009/05/10
F#, Project Euler - Problem #2  (0) 2009/05/10
Posted by U_Seung