You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
1.0 KiB
34 lines
1.0 KiB
// For more information see https://aka.ms/fsharp-console-apps
|
|
printfn "Hello from F#"
|
|
|
|
let rec traverseNumber' n f acc =
|
|
match n with
|
|
| 0 -> acc
|
|
| n -> traverseNumber' (n / 10) f (f acc (n % 10))
|
|
|
|
let traverseNumber n f init = traverseNumber' n f init
|
|
|
|
let sum x y = x + y
|
|
let mul x y = x * y
|
|
let min x y = if x < y then x else y
|
|
let max x y = if x > y then x else y
|
|
|
|
[<EntryPoint>]
|
|
let main argv =
|
|
System.Console.WriteLine("Введите число:")
|
|
let number = System.Console.ReadLine() |> int
|
|
|
|
let sumResult = traverseNumber number sum 0
|
|
System.Console.WriteLine($"Сумма цифр: {sumResult}")
|
|
|
|
let mulResult = traverseNumber number mul 1
|
|
System.Console.WriteLine($"Произведение цифр: {mulResult}")
|
|
|
|
let minResult = traverseNumber number min System.Int32.MaxValue
|
|
System.Console.WriteLine($"Минимальная цифра: {minResult}")
|
|
|
|
let maxResult = traverseNumber number max 0
|
|
System.Console.WriteLine($"Максимальная цифра: {maxResult}")
|
|
|
|
0
|