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

И снова я))) Условие: Механический попугай Лёшенька готовит бургеры по рецепту тёти Нюры: две булочки и котлета между ними. Перед ним в ряд лежат n булочек:
◎ ◎ ◎ ◎ ◎ ◎ ◎ ◎ ◎ ◎ ◎ ◎ ◎
На некоторые булочки Лёшенька кладёт котлеты. На каждую булочку справа от такой тётя Нюра кладёт салат и ложку соуса, чтобы потом соединить два в одно. В итоге у них получается k бургеров. Число «пустых» булочек между каждыми двумя заготовками для бургеров одинаковое. Оно равно числу «пустых» булочек слева и справа, как на схеме (для n=13, k=2):
◎ ◎ ◎ ◉ ◉ ◎ ◎ ◎ ◉ ◉ ◎ ◎ ◎
Дано n (количество булочек) и k (количество бургеров). Выведи количество булочек между каждыми двумя бургерами.
Мое решение:
n=int(input())
k=int(input())
x=n-k*2
m=x//2
while (x % m!=0):
m=m-1
print(m)
Подскажите, что подправить. Буду очень благодарен)

Показать ответ
Ответ:
khinmy
khinmy
16.01.2024 11:43
Привет! Давай посмотрим на твоё решение и улучшим его.

В начале ты правильно вводишь значения для переменных "n" и "k" с помощью функции input(). Это отличный первый шаг.

Далее у тебя есть переменная "x", которая равна разнице между общим количеством булочек и двойным количеством булочек, необходимых для каждого бургера. Таким образом, "x" представляет собой количество "пустых" булочек - это тоже правильно.

Однако, целью задачи является определить количество "пустых" булочек между каждыми двумя бургерами, а не общее количество "пустых" булочек. Поэтому имя переменной "x" может быть малоинформативным.

Чтобы найти количество "пустых" булочек между каждыми двумя бургерами, нам нужно поделить общее количество "пустых" булочек на количество бургеров минус один. Предлагаю назвать эту переменную "empty_buns_between_burgers". Мы получим следующее:

empty_buns_between_burgers = x // (k-1)

Далее, ты использовал цикл while для поиска искомого значения. Хотя это может работать, у нас есть более простой и эффективный способ.

Мы знаем, что количество "пустых" булочек между каждыми двумя бургерами должно быть целочисленным значением. Поэтому изменим наше решение, чтобы найти наибольшее целое число, которое делит "x" без остатка.

empty_buns_between_burgers = x // (k-1)

Получается, что при вводе значения 13 для "n" и значения 2 для "k", мы получаем:

x = 13 - 2*2 = 13 - 4 = 9
empty_buns_between_burgers = 9 // (2-1) = 9

Таким образом, число "пустых" булочек между каждыми двумя бургерами равно 9.

Наконец, заменим функцию print() в конце программы, чтобы вывести значение переменной "empty_buns_between_burgers":

print(empty_buns_between_burgers)

Вот конечный вариант программы:

```python
n = int(input())
k = int(input())
x = n - k*2
empty_buns_between_burgers = x // (k-1)
print(empty_buns_between_burgers)
```

Надеюсь, это помогло! Если у тебя есть еще вопросы, не стесняйся спрашивать. Удачи!
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота