Форум » Обработка числовых последовательностей » 27-63-А » Ответить

27-63-А

DragonflyLif: Смотрела пояснение к этой задаче. Не до конце поняла зачем цикл по i выполняется N-d раз. Написала свой вариант программы: [pre2]var a:array[1..10000] of integer; n,i,j,p: longint; begin readln(n); for i:=1 to n do readln(a[ i]); p:=0; for i:=1 to n do for j:=1 to n do if (abs(i-j)>=9) and (a[ i]*a[j] > p) and (a[ i]*a[j] mod 2 = 0) then p:=a[ i]*a[j]; writeln(p) end.[/pre2]Мне кажется это решение более простым, но не уверена, оценят ли его в 2 балла. Может быть оно не применимо для каких то частных случаев?

Ответов - 2

Поляков: DragonflyLif пишет: Не до конце поняла зачем цикл по i выполняется N-d раз. Потому что в приведённом у меня решении сразу рассматриваются только допустимые пары a[ i] и a[j] (для которых i+9 <= j), в вашем решении это обеспечивается условием (abs(i-j)>=9), но количество шагов цикла получается больше. Цикл выполняется N-d раз, а не N, чтобы не было выхода за границы массива.Мне кажется это решение более простым, но не уверена, оценят ли его в 2 балла. Должны оценить на 2 балла.

DragonflyLif: Спасибо!



полная версия страницы