Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- open System
- let reverse (number:int64) =
- number.ToString().ToCharArray() |> Array.rev |> System.String.Concat |> System.Int64.Parse
- let isPalindrome (number:int64) =
- (number = reverse number)
- let rec findStepsToPalindrome (number:int64) (step:int64) =
- if (isPalindrome(number)) then (number,step)
- else findStepsToPalindrome (number + reverse(number)) (step + 1L)
- let makePalindromic (number:int64) =
- findStepsToPalindrome number 0L
- [<EntryPoint>]
- let main argv =
- let randomNumberGenerator = new Random()
- let number: int64 = int64(randomNumberGenerator.Next(100))
- let palindrome,steps = makePalindromic number
- printfn "%i gets palindromic after %i steps: %i" number steps palindrome
- let b = Console.ReadLine()
- 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement