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.

35 lines
1.0 KiB

// For more information see https://aka.ms/fsharp-console-apps
printfn "Hello from F#"
let rec sumDigitsUp n =
if n < 10 then n
else (n % 10) + sumDigitsUp (n / 10)
let rec sumDigitsDown n =
let rec sumDigitsDown' n acc =
if n < 10 then acc + n
else sumDigitsDown' (n / 10) (acc + (n % 10))
sumDigitsDown' n 0
let rec sumDigitsTail' n acc =
if n < 10 then acc + n
else sumDigitsTail' (n / 10) (acc + (n % 10))
let sumDigitsTail n = sumDigitsTail' n 0
[<EntryPoint>]
let main argv =
System.Console.WriteLine("Введите число:")
let number = System.Console.ReadLine() |> int
let result1 = sumDigitsUp number
System.Console.WriteLine($"Сумма цифр (рекурсия вверх): {result1}")
let result2 = sumDigitsDown number
System.Console.WriteLine($"Сумма цифр (рекурсия вниз): {result2}")
let result3 = sumDigitsTail number
System.Console.WriteLine($"Сумма цифр (хвостовая рекурсия): {result3}")
0