Четыре задачи, в которых внешний цикл идёт по числам от 1 до N, а внутри него —
цикл по цифрам или делителям каждого числа. Какой внутренний цикл успеет,
решает ограничение на N.
- Количество делителей:
N ≤ 3000, поэтому перебор всехdот 1 доi— около 4,5 · 10⁶ шагов: простой цикл подходит. - Количество чисел с заданной суммой цифр: отрезайте цифры от копии
i, а не от самогоi.Nдо 10⁶: не больше 7 цифр в каждом, около 7 · 10⁶ шагов. - Список простых чисел печатает количество до самих простых. Складывайте
простые в вектор через
push_back, потом выведите егоsize()и сам вектор. Проверка на простоту останавливается наd * d <= xи на первом найденном делителе. ПриN = 1весь вывод —0. - Наибольшее количество делителей:
Nдо 10⁵, поэтому перебор всехdдоxдля каждогоx— около 5 · 10⁹ шагов, слишком медленно. Считайте делители парами,dиx / d, покаd * d <= x, и учитывайтеdодин раз, когдаd * d == x. Чтобы среди победителей остался наименьший, заменяйте лучший результат только строго большим количеством (>).