Напишите программу, которая находит все числа Армстронга из диапазона от A до B. Натуральное число из n цифр называется числом Армстронга, если сумма его цифр, возведенных в степень n, равна самому числу.

Напишите программу, которая находит все числа Армстронга из диапазона от A до B. Натуральное число из n цифр называется числом Армстронга, если сумма его цифр, возведенных в степень n, равна самому числу.
Гость
Ответ(ы) на вопрос:
Гость
// F# [] let main argv =     let rec ( ** ) x n =         match n < 1 with         | true -> 1         | false -> x * (x ** (n-1))     let rec sumDigits x =         match x with         | x when x < 10 -> (x, 1)         | x ->             let res = x / 10 |> sumDigits             ((res |> fst) + (x % 10), (res |> snd) + 1)     let isArmstrong x =         let digitsInfo = sumDigits x         x = (fst digitsInfo) ** (snd digitsInfo)     let a = System.Console.ReadLine() |> System.Int32.Parse     let b = System.Console.ReadLine() |> System.Int32.Parse     let result = [a..b] |> List.filter (isArmstrong)     printf "Result: %A" result     System.Console.ReadKey true |> ignore     0
Не нашли ответ?
Ответить на вопрос
Похожие вопросы