Версия для печати
Убрать все задачи
Дано N целых чисел. Требуется выбрать из них три таких числа,
произведение которых максимально.
Формат входных данных
Во входном файле записано сначала число N - количество чисел в
последовательности (3<=N<=100). Далее записана сама последовательность:
N целых чисел, по модулю не превышающих 1000.
Формат выходных данных
В выходной файл выведите три искомых числа в любом порядке.
Если существует несколько различных троек чисел, дающих
максимальное произведение, то выведите любую из них.
Пример входного файла
9
3 5 1 7 9 0 9 -3 10
Пример выходного файла
9 10 9
Пример входного файла
3
-5 -300 -12
Пример выходного файла
-5 -300 -12

Решение
На доске 25×25 расставлены 25 шашек, причём их расположение симметрично относительно обеих главных диагоналей.
Докажите, что одна из шашек стоит в центральной клетке.


Решение
Дан массив. Требуется вставить в него на место номер B элемент, равный C,
сдвинув все последующие элементы (включая элемент, стоящий на B-ом месте)
вправо.
Входные данные
Во входном файле записано сначала число N - количество элементов массива
(2<=N<=100), затем N чисел из диапазона Integer - элементы массива,
затем число B (1<=B<=N) и число C (из диапазона Integer).
Выходные данные
В выходной файл выведите N+1 число - элементы массива с вставленным элементом.
Примечание
Вы должны вставить элемент непосредственно в массив, а не сделать
вид при выводе данных, что у вас появился такой элемент. Также вы не
должны для этого заводить в программе дополнительный массив.
То есть ввод данных осуществляется следующим фрагментом:
read(fi,n);
for i:=1 to n do read(fi,a[i]);
read(fi,b,c);
А вывод - следующим:
for i:=1 to n+1 do write(fo,a[i],' ');
Необходимые фрагменты вы можете найти в файле P129.PAS
Пример входного файла
5
1 3 5 6 7
2 10
Пример выходного файла
1 10 3 5 6 7
Текст программы P129.PAS
const nmax=100;
var a:array[1..nmax] of integer;
n:integer;
i:integer;
b,c:integer;
fi,fo:text;
begin
assign(fi,'input.txt');
reset(fi);
assign(fo,'output.txt');
rewrite(fo);
read(fi,n);
for i:=1 to n do read(fi,a[i]);
read(fi,b,c);
{Вы должны писать здесь}
for i:=1 to n+1 do write(fo,a[i],' ');
close(fi);
close(fo);
end.


Решение
Семь девяток выписали подряд: 9 9 9 9 9 9 9. Поставьте между некоторыми из них знаки «+» или «−», чтобы получившееся выражение равнялось 1989.


Решение
На плоскости даны два равных многоугольника F и F'. Известно, что все вершины многоугольника F принадлежат F' (могут лежать внутри него или на границе). Верно ли, что все вершины этих многоугольников совпадают?

Решение