// 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