
Задача 6: Странное устройство По приезде Василий с Петром обнаружили в своем номере в гостинице
странный прибор. Он был оснащен дисплеем, на котором показывалось число 0, и двумя кнопками. Василий сразу понял, что первая кнопка увеличивает число на дисплее на 1, а вторая умножает его на K. В этот момент Петр обнаружил на своей кровати листок бумаги, на котором было написано единственное число N. Теперь друзья хотят воспроизвести число N на дисплее найденного ими устройства, и, поскольку их ждет еще множество дел, им интересно минимальное число нажатий на кнопки устройства для получения числа N. Входные данные В первой строке входных данных записано целое неотрицательное число N (1 ≤ N ≤ 109). Во второй строке входных данных записано целое положительное число K (2 ≤ K ≤ 109). Выходные данные Выведите единственное число — минимальное количество нажатий на кнопки устройства для получения на его дисплее числа N. Система оценки Решения, работающие при K = 2, будут набирать не менее 20 баллов. Решения, работающие при N ≤ 20, будут набирать не менее 15 баллов. Решения, работающие при N ≤ 105, будут набирать не менее 35 баллов. Кто не понял, надо написать код программы.

Ответы на вопрос

Ответ:
n = int(input())
k = int(input())
res = 0
while n > 0:
n = n / k if n % k == 0 else n - 1
res += 1
print(res)
Объяснение:
Только 70 балов даёт( Но это же лучше чем ничего?!



Ответ:
n=int(input())
k=int(input())
a=n//k
b=n%k
if k>n:
print(n)
if k==n:
print(2)
if k<n:
print(1 +a +b)
Объяснение:
80 баллов, но уже хорошо



Задача заключается в нахождении минимального количества нажатий на кнопки прибора, чтобы получить число N на дисплее. Первая кнопка увеличивает число на 1, а вторая кнопка умножает его на K.
Для решения этой задачи можно использовать следующий алгоритм:
Инициализировать переменную count = 0 для подсчета количества нажатий.
Пока число на дисплее не станет равным N:
- Если N кратно K, то умножить число на дисплее на K и увеличить count на 1.
- Иначе увеличить число на дисплее на 1 и увеличить count на 1.
Вывести значение count как результат.
Ниже приведен пример кода на языке Python, решающего данную задачу:
pythonN = int(input()) # Ввод числа N
K = int(input()) # Ввод числа K
count = 0 # Инициализация счетчика нажатий
while N != 0:
if N % K == 0: # Если N кратно K
N //= K # Деление N на K
count += 1
else:
N -= 1 # Уменьшение N на 1
count += 1
print(count) # Вывод результата
Этот код работает для любых значений N и K, удовлетворяющих условиям задачи.


Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili