Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
21
Task/Number-reversal-game/F-Sharp/number-reversal-game.fs
Normal file
21
Task/Number-reversal-game/F-Sharp/number-reversal-game.fs
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
let rand = System.Random()
|
||||
|
||||
while true do
|
||||
let rec randomNums() =
|
||||
let xs = [|for i in 1..9 -> rand.Next(), i|] |> Array.sort |> Array.map snd
|
||||
if xs = Array.sort xs then randomNums() else xs
|
||||
|
||||
let xs = randomNums()
|
||||
|
||||
let suffix = function | 1 -> "st" | 2 -> "nd" | 3 -> "rd" | _ -> "th"
|
||||
|
||||
let rec move i =
|
||||
printf "\n%A\n\nReverse how many digits from the left in your %i%s move? : " xs i (suffix i)
|
||||
let n = stdin.ReadLine() |> int
|
||||
Array.blit (Array.rev xs.[0..n-1]) 0 xs 0 n
|
||||
if xs <> Array.sort xs then
|
||||
move (i+1)
|
||||
else
|
||||
printfn "\nYou took %i moves to put the digits in order!\n" i
|
||||
|
||||
move 1
|
||||
Loading…
Add table
Add a link
Reference in a new issue