Вопрос задан 22.03.2019 в 03:15. Предмет Информатика. Спрашивает Vishnikov Dima.

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

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

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Таржанова Дарига.
// F#
[<EntryPoint>]
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

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос