Блог пользователя KONAKONA666

Автор KONAKONA666, история, 8 лет назад, По-русски

Надо подсчитать число с наибольшим количеством делителей меньше чем N, при равенстве числа делителей надо брать меньшее
Сама задачка: http://codeforces.net/gym/100467, задача A

  • Проголосовать: нравится
  • +8
  • Проголосовать: не нравится

»
8 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Не вижу ограничений на число N, но можно посчитать количество делителей так : для каждого i = 1 .. n будем увеличивать количество делителей чисел вида i, 2*i, 3*i и т.д. Сложность алгоритма составляет O(N log n).

»
8 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Аналогичная задача (Dividers) еще была на винницкой олимпиаде в 2011 году.

Пускай m — это искомое число, тогда справедливо следующее:

Не сложно реализовать рекурсивный перебор, который базитруется на вышеописанной формуле.