ЗАДАЧИ
problems.ru
О проекте | Об авторах | Справочник
Каталог по темам | по источникам |
К задаче N

Проект МЦНМО
при участии
школы 57
Фильтр
Сложность с по   Класс с по  
Задачи

Страница: << 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]      



© 2004-... МЦНМО (о копирайте)
Пишите нам

Проект осуществляется при поддержке Департамента образования г.Москвы и ФЦП "Кадры" .