Оглавление > Числа, кратные 3 или 5 (F#)
03.02.2023

Найдите сумму всех чисел меньше 1000, кратных 3 или 5 на языке F#

Если выписать все натуральные числа меньше 10, кратные 3 или 5, то получим 3, 5, 6 и 9. Сумма этих чисел равна 23. Найдите сумму всех чисел меньше 1000, кратных 3 или 5.

Решение

  • Генератор последовательности всех чисел кратных b и меньше 1000
let s b = Seq.initInfinite (fun i -> i*b)
          |> Seq.takeWhile (fun x -> x < 1000)
  • Объединение последовательностей чисел кратных 3 и 5
  • исключение повторов
  • нахождение суммы
  • вывод результата
let answer = Seq.append (s 3) (s 5)
          |> Seq.distinct
          |> Seq.sum

printfn $"the answer is {answer}" //the answer is 233168
Задать вопрос автору, обсудить