
Сдать решение задачи C-2-Подготовка к олимпиаде (тест 2) Оставшиеся посылки: 100 Подготовка к
олимпиаде (тест 2) Эта задача с открытыми тестами. Ее решением является набор ответов, а не программа на языке программирования. Тесты указаны в самом условии. От вас требуется лишь ввести ответы на них в тестирующую систему. Семиклассник Ваня готовится к олимпиаде по информатике. За дни подготовки, включая сегодняшний день, он суммарно прорешал B задач. Чтобы мотивировать себя на дальнейшую работу, Ваня придумал хитрый алгоритм для подсчета количества задач, которые ему необходимо решать в каждый последующий день. Алгоритм для подсчета количества задач на каждый последующий день: 1) В начале каждого нового дня Ваня подсчитывает суммарное количество решенных задач во все предыдущие дни. Пусть это число равно X ; 2) Затем Ваня находит минимальный натуральный делитель числа X больший 1. Пусть он равен k ; 3) Тогда количество задач, которые необходимо Ване решить сегодня, будет равно k . Используя данный алгоритм, Ваня решал задачи ровно A дней. Сколько всего задач решит Ваня за всю свою подготовку к олимпиаде по информатике? Выходные данные Для каждого теста требуется ввести в тестирующую систему одно целое число — суммарное количество решенных задач Ваней при подготовке к олимпиаде по информатике. Примечание Например, если у Вани было решено на сегодняшний день B = 4 задачи, а готовиться к олимпиаде по новому алгоритму он будет A = 3 дня, то всего у него будет решено 10 задач. Тест №1: A = 7 , B = 15 ; Тест №2: A = 20 , B = 137 ; Тест №3: A = 11 , B = 121 ; Тест №4: A = 167 , B = 12 ; Тест №5: A = 1000 , B = 100 ; Тест №6: A = 149 , B = 7 ; Тест №7: A = 21453 , B = 17 ; Тест №8: A = 15672 , B = 12348 ; Тест №9: A = 1234781 , B = 478833 ; Тест №10: A = 312423 , B = 23432 . Формат результата Введите в поле одно число - ответ на тест 2. ПОМОГИТЕ. ДАМ 35 БАЛЛОВ Мой вариант решения: (предполагаю что не правильный, я написал код на python, но думаю что он не верный) a = int(input()) b = int(input()) i = 2 while b % i != 0: i += 1 print(a + (a * i))

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

Ответ:
Тест 1: 30
Тест 2: 312
Тест 3: 152
Тест 4: 346
Тест 5: 2100
Тест 6: 310
Тест 7: 42938
Тест 8: 43692
Тест 9: 2948396
Тест 10: 648278
Объяснение:
Результаты, полученные с помощью программы, написанной на Python:
def least_common_factor(x):
i = 2
while x % i != 0:
i += 1
return i
a = int(input())
b = int(input())
for i in range(a):
b = b + least_common_factor(b)
print(b)



Ваше решение близко к правильному, но есть некоторые ошибки. Давайте разберем ваш код и исправим его.
pythona = int(input()) # Количество дней подготовки
b = int(input()) # Количество задач в начале подготовки
i = 2
while b % i != 0:
i += 1
print(a * i + b)
Ваш код уже имеет правильный ход мысли, но есть небольшая ошибка в строке print(a + (a * i))
. Вместо этого вы должны умножить количество дней (a
) на найденный делитель (i
), а затем добавить количество задач в начале подготовки (b
), чтобы получить общее количество задач. Кроме того, вы также должны использовать оператор *
вместо +
для умножения.
Исправленный код должен быть таким:
pythona = int(input()) # Количество дней подготовки
b = int(input()) # Количество задач в начале подготовки
i = 2
while b % i != 0:
i += 1
print(a * i + b)
Теперь код должен работать правильно и давать верный ответ на задачу.


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







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