ответ: Кот Леопольд пошёл на рыбалку и наловил рыбы. Каждую рыбу он старательно взвесил. Первая рыба (самая маленькая), которую он взвешивал , весила ровно L грамм. Каждая следующая рыбина была на K грамм тяжелее предыдущей. Сколько весит вся рыба, которую наловил Леопольд, если известно что поймал он N(>0) рыб?
Технические условия. Программа считывает с клавиатуры число N-количество рыб, потом, через пробел, L-массу первой рыбы в граммах и через пробел-K-на сколько каждая следующая рыбина тяжелее предыдущей. Программа выводит на Экран одно целое число-массу всей пойманой рыбы в граммах.
Пример:
Ввод>10 250 100
Вывод>7000
Ввод>12 100 150
Вывод>11100
Пояснення:В качестве кандидатов нужно рассматривать числа, не превышающие
(
S
−
1
)
2
, так как в худшем случае составное число вида
x
2
будет иметь два наибольших делителя
x
и 1. Время работы этого алгоритма
O
(
S
4
)
. Можно существенно ускорить вычисления, если учесть, что при поиске разложения на множители числа
N
можно рассмотреть только числа не превышающие
√
N
. Наибольшим делителем числа
N
будет
N
a
, где
a
– наименьший делитель, а вторым наибольшим делителем будет либо
N
b
, где
b
– второй по величине делитель
N
(также либо число, либо
a
2
), либо
a
, если
N
является произведением двух различных чисел, либо 1, если
N
=
a
2
.
begin
pro:=1;
for numb := 100 to 999 do
if (numb mod 10 = 5) then
pro:= pro*numb;
writeln(pro);
end.
2)var numb,summ:integer;
begin
for numb := 10 to 99 do
if (numb mod 10 = 5) then
summ:= summ+numb;
writeln(summ);
end.