
Вопрос задан 02.05.2023 в 00:04.
Предмет Информатика.
Спрашивает Чижик Таня.
Рядом с домом Пети расположена пекарня, в которой пекут вкусные пирожки с ягодами. Пете очень
нравятся три вида пирожков: с брусникой, с черникой и с вишней. Пирожок с брусникой стоит A рублей, пирожок с черникой стоит B рублей, пирожок с вишней стоит C рублей. Каждый день, проходя мимо пекарни, Петя покупает пирожок одного из этих трёх видов. При этом он соблюдает следующие правила: если в некоторый день он купил пирожок с брусникой, то на следующий день он купит пирожок с черникой; если в некоторый день он купил пирожок с черникой, то на следующий день он купит пирожок с вишней; если в некоторый день он купил пирожок с вишней, то на следующий день он купит пирожок с брусникой. Например, если сегодня Петя купит пирожок с брусникой, то завтра он купит пирожок с черникой, послезавтра — пирожок с вишней, на следующий за послезавтра день — пирожок с брусникой, и так далее. Зная, какой пирожок Петя купит сегодня, определите, сколько денег Петя потратит на пирожки в течение N дней, начиная с сегодняшнего. Входные данные В первой строке входных данных содержится целое число A (1 ≤ A ≤ 106) — цена пирожка с брусникой. Во второй строке содержится целое число B (1 ≤ B ≤ 106) — цена пирожка с черникой. В третьей строке содержится целое число C (1 ≤ C ≤ 106) — цена пирожка с вишней. В четвёртой строке содержится целое число N (2 ≤ N ≤ 2×109) — количество дней, за которые нужно посчитать расходы Пети на пирожки. В пятой строке содержится число 1, 2 или 3, указывающее, какой пирожок Петя купит сегодня. Число 1 соответствует пирожку с брусникой, число 2 — пирожку с черникой, число 3 — пирожку с вишней. Выходные данные Выведите единственное целое число — сумму, которую Петя потратит на пирожки. Обратите внимание, что для больших значений N ответ может быть больше, чем возможное значение 32-битной целочисленной переменной, поэтому необходимо использовать 64-битные числа (тип int64 в языке Pascal, тип long long в C и C++, тип long в Java и C#). Система оценки Решение, правильно работающее только для случаев, когда n ≤ 3, будет оцениваться в 9 баллов. Решение, правильно работающее только для случаев, когда n ≤ 1000, будет оцениваться в 72 балла.

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

Отвечает Мизерева Диана.
Python 3
a = int(input())
b = int(input())
c = int(input())
n = int(input())
flag = int(input())
total = 0
for _ in range(1, n+1):
if flag == 1:
total += a
flag = 2
elif flag == 2:
total += b
flag = 3
elif flag == 3:
total += c
flag = 1
print(total)



Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Решение
Заметим, что цикл из трёх пирожков образует замкнутую систему переходов между ними, а значит, если мы знаем, какой пирожок был куплен сегодня, то можем легко предсказать, какой будет куплен завтра, какой послезавтра и так далее. Пусть пирожок, купленный сегодня, будет соответствовать номеру $k$, тогда пирожок, купленный завтра, будет соответствовать номеру $(k+1) \bmod 3$, пирожок, купленный послезавтра — номеру $(k+2) \bmod 3$, и так далее. Для вычисления получившейся последовательности номеров пирожков можно использовать простой цикл, который будет повторяться пока не будет набито нужное количество дней.
Теперь, зная последовательность номеров пирожков, мы можем посчитать их общую стоимость. Для этого каждый раз, когда Петя покупает пирожок, мы будем добавлять его цену к общей стоимости. Для решения нам необходимо просто реализовать описанный алгоритм.
Реализация
Язык Python 3:
0
0
Заметим, что цикл из трёх пирожков образует замкнутую систему переходов между ними, а значит, если мы знаем, какой пирожок был куплен сегодня, то можем легко предсказать, какой будет куплен завтра, какой послезавтра и так далее. Пусть пирожок, купленный сегодня, будет соответствовать номеру $k$, тогда пирожок, купленный завтра, будет соответствовать номеру $(k+1) \bmod 3$, пирожок, купленный послезавтра — номеру $(k+2) \bmod 3$, и так далее. Для вычисления получившейся последовательности номеров пирожков можно использовать простой цикл, который будет повторяться пока не будет набито нужное количество дней.
Теперь, зная последовательность номеров пирожков, мы можем посчитать их общую стоимость. Для этого каждый раз, когда Петя покупает пирожок, мы будем добавлять его цену к общей стоимости. Для решения нам необходимо просто реализовать описанный алгоритм.
Реализация
Язык Python 3:


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

Информатика 557

Информатика 33

Информатика 74

Информатика 12

Информатика 10

Информатика 33

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