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