Advertisement
Psychocode

Palendromic

Jun 9th, 2015
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
F# 0.77 KB | None | 0 0
  1. open System
  2.  
  3. let reverse (number:int64) =
  4.     number.ToString().ToCharArray() |> Array.rev |> System.String.Concat |> System.Int64.Parse
  5.    
  6. let isPalindrome (number:int64) =
  7.     (number = reverse number)
  8.  
  9. let rec findStepsToPalindrome (number:int64) (step:int64) =
  10.     if (isPalindrome(number)) then (number,step)
  11.     else findStepsToPalindrome (number + reverse(number)) (step + 1L)
  12.  
  13. let makePalindromic (number:int64) =
  14.     findStepsToPalindrome number 0L
  15.  
  16. [<EntryPoint>]
  17. let main argv =
  18.     let randomNumberGenerator = new Random()
  19.     let number: int64 = int64(randomNumberGenerator.Next(100))
  20.     let palindrome,steps = makePalindromic number    
  21.     printfn "%i gets palindromic after %i steps: %i" number steps palindrome
  22.     let b = Console.ReadLine()
  23.     0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement