Пояснення:В качестве кандидатов нужно рассматривать числа, не превышающие
(
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
.
Поделитесь своими знаниями, ответьте на вопрос:
Написать программу.задать три массива размерностью 10 элементов каждый, задать произвольным значения для двух массивов. элементам третьего массива присвоить произведение элементов первых двух. c[1]: =a[1]*b[1] c[2]: =a[2]*b[2] c[3]: =a[3]*b[3]
begin
var a := ArrRandom(10, -50, 50);
a.Println;
var b := ArrRandom(10, -50, 50);
b.Println;
var c := a.Zip(b, (p, q)-> p * q).ToArray;
c.Println
end.