?>
Сдать решение задачи 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. Мой вариант решения: (предполагаю что не правильный, я написал код на 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)