Сдать решение задачи 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)