Страница:
<< 3 4 5 6
7 8 9 >> [Всего задач: 63]
Задача
64148
(#127)
|
|
Сложность: 2 Классы: 8
|
Дано 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
Задача
64149
(#128)
|
|
Сложность: 2 Классы: 8
|
Дан массив. Требуется удалить из него элемент, стоящий на месте номер B,
сдвинув все последующие элементы влево.
Входные данные
Во входном файле записано сначала число N - количество элементов массива
(2<=N<=100), затем N чисел из диапазона Integer - элементы массива,
а затем число B (1<=B<=N).
Выходные данные
В выходной файл выведите N-1 число - элементы массива с удаленным B-м элементом.
Примечание
Вы должны удалить элемент непосредственно из массива, а не сделать
вид при выводе данных, что у вас такого элемента нет. Также вы не
должны для этого заводить в программе дополнительный массив.
То есть ввод данных осуществляется следующим фрагментом:
read(fi,n);
for i:=1 to n do read(fi,a[i]);
read(fi,b);
А вывод - следующим:
for i:=1 to n-1 do write(fo,a[i],' ');
Необходимые фрагменты вы можете найти в файле P128.PAS
Пример входного файла
5
1 3 5 6 7
2
Пример выходного файла
1 5 6 7
Текст программы P128.PAS
const nmax=100;
var a:array[1..nmax] of integer;
n:integer;
i:integer;
b: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);
{Вы должны писать здесь}
for i:=1 to n-1 do write(fo,a[i],' ');
close(fi);
close(fo);
end.
Задача
64150
(#129)
|
|
Сложность: 2 Классы: 8
|
Дан массив. Требуется вставить в него на место номер 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.
Задача
64151
(#130)
|
|
Сложность: 2 Классы: 8
|
В начальный момент в i-ом элементе массива записано
число i (всего N элементов).
Каждую секунду числа сдвигаются в следующую ячейку
(из i-ой в i+1-ую), а из N-ой - в первую.
Напечатать состояние массива через T секунд.
Во вхоном файле записаны два числа - N (1<=N<=100) и T (0<=T<=30000).
В выходной файл выведите N чисел - состояние массива через T секунд.
Пример входного файла
5 3
Пример выходного файла
3 4 5 1 2
Задача
64152
(#131)
|
|
Сложность: 2 Классы: 8
|
Задача Иосифа Флавия
Существует легенда, что Иосиф Флавий - известный историк первого
века - выжил и стал известным благодаря математической одаренности.
В ходе иудейской войны он в составе отряда из 41 иудейского воина
был загнан римлянами в пещеру. Предпочитая самоубийство плену, воины решили
выстроиться в круг и последовательно убивать каждого третьего из
живых до тех пор, пока не останется ни одного человека.
Однако Иосиф наряду с одним из своих единомышленников счел подобный
конец бессмысленным - он быстро вычислил спасительные места
в порочном круге, на которые поставил себя и своего товарища.
И лишь поэтому мы знаем его историю.
В нашем варианте мы начнем с того,
что выстроим в круг N человек, пронумерованных числами от 1 до N,
и будем исключать каждого k-ого до тех пор, пока не уцелеет только
один человек. (Например, если N=10, k=3, то сначала умрет 3-й,
потом 6-й, затем 9-й, затем 2-й, затем 7-й, потом 1-й, потом 8-й,
за ним - 5-й, и потом 10-й. Таким образом, уцелеет 4-й.)
Задача: определить номер уцелевшего.
Входные данные: числа N и k вводятся из файла INPUT.TXT.
Ограничения: 1<=N<=500, 1<=k<=100.
Выходные данные: Программа должна выдавать номер уцелевшего человека
в файл OUTPUT.TXT.
Пример входного файла:
10 3
Пример выходного файла:
4
Страница:
<< 3 4 5 6
7 8 9 >> [Всего задач: 63]