@class_Human

Что нужно сделать в этой задаче?

Не могу понять условие задачи:найти количество чисел меньших N, которые имеют простые делители X или Y.
Здесь надо разложить число на простые множители?
  • Вопрос задан
  • 2059 просмотров
Пригласить эксперта
Ответы на вопрос 3
@Mercury13
Программист на «си с крестами» и не только
Если N=20, X=3, Y=5, то наш выход — 8.
3, 5, 6, 9, 10, 12, 15, 18.

Лобовое решение — пройти [2, N) и пересчитать нужные числа.

Идея умного решения. Если X и Y гарантированно простые, то эти самые числа повторяются с шагом X·Y.
3, 5, 6, 9, 10, 12, 15
18, 20, 21, 24, 25, 27, 30
А дальше думайте сами.
Ответ написан
Комментировать
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Не надо. Надо найти количество чисел, кратных X, добавить количество чисел кратных Y и вычесть количество чисел кратных X*Y. Задача решается без циклов, одной формулой.
N=20, X=3, Y=5
⌊19/3⌋ + ⌊19/5⌋ - ⌊19/15⌋ = 6 + 3 - 1 = 8
Ответ написан
Комментировать
VladimirAndreev
@VladimirAndreev
php web dev
$a = min([$x, $y]);
echo floor($n/$a)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы