• B. Исчезающий ряд
    Ограничение времени 1 секунда
    Ограничение памяти 512Mb
    Ввод стандартный ввод или input.txt
    Вывод стандартный вывод или output.txt

    Ряд состоит из натуральных чисел от 1 до n. Задается натуральное число k и выполняется один или несколько шагов по удалению каждого k-ого числа в этом ряду. На очередном шаге оставшиеся числа просматриваются в возрастающем порядке, и каждое k-е число удаляется. Если после очередного шага осталось меньше k чисел, то процесс удаления чисел завершается. Необходимо определить, на каком шаге будет удалено число n, или выяснить, что оно не будет удалено до завершения процесса.

    Например, пусть n = 13, k = 2.

    • На первом шаге будут удалены числа 2, 4, 6, 8, 10 и 12, останутся числа 1, 3, 5, 7, 9, 11 и 13.

    • На втором шаге будут удалены числа 3, 7 и 11, останутся числа 1, 5, 9 и 13.

    • На третьем шаге будут удалены числа 5 и 13, останутся числа 1 и 9.

    • На четвертом шаге будет удалено число 9, останется число 1. Поскольку осталось одно число, процесс завершается. Таким образом, число 13 будет удалено на третьем шаге.

    Требуется написать программу, которая по заданным числам n и k определяет, на каком шаге будет удалено число n.

    Формат ввода
    Первая строка входных данных содержит целое число n (3 ≤ n ≤ 10**18).

    Вторая строка входных данных содержит целое число k (2 ≤ k ≤ 100, k < n).

    Формат вывода
    Требуется вывести одно целое число — номер шага, на котором будет удалено число n, или число 0, если число nне будет удалено.

Ответы 3

  • lf
    • Автор:

      patsy
    • 5 лет назад
    • 0
  • да
    • Автор:

      tesschung
    • 5 лет назад
    • 0
  • Есть решение на FreeBasic на 60 баллов, надо?

    • Автор:

      tommycain
    • 5 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years