Автор | Сообщение |
|
Отправлено: 19.02.17 11:17. Заголовок: 27-63-А
Смотрела пояснение к этой задаче. Не до конце поняла зачем цикл по i выполняется N-d раз. Написала свой вариант программы: 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. Мне кажется это решение более простым, но не уверена, оценят ли его в 2 балла. Может быть оно не применимо для каких то частных случаев?
|
|
|
Ответов - 2
[только новые]
|
|
|
| Администратор
|
Сообщение: 1273
|
|
Отправлено: 19.02.17 11:44. Заголовок: DragonflyLif пишет: ..
DragonflyLif пишет: цитата: | Не до конце поняла зачем цикл по i выполняется N-d раз. |
|
Потому что в приведённом у меня решении сразу рассматриваются только допустимые пары a[ i] и a[j] (для которых i+9 <= j), в вашем решении это обеспечивается условием (abs(i-j)>=9), но количество шагов цикла получается больше. Цикл выполняется N-d раз, а не N, чтобы не было выхода за границы массива. цитата: | Мне кажется это решение более простым, но не уверена, оценят ли его в 2 балла. |
|
Должны оценить на 2 балла.
|
|
|
|
Отправлено: 19.02.17 11:51. Заголовок: Спасибо!..
Спасибо!
|
|
|
|