|
ЗАДАЧИ
problems.ru |
О проекте
|
Об авторах
|
Справочник
Каталог по темам | по источникам | |
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||
|
Версия для печати
Убрать все задачи Внутри окружности расположен выпуклый пятиугольник (вершины могут лежать как внутри, так и на окружности). Доказать, что хотя бы одна из его сторон не больше стороны правильного пятиугольника, вписанного в эту окружность. Обязательно ли равны два равнобедренных треугольника, у которых равны боковые стороны и радиусы вписанных окружностей? На окружности расставлено 20 точек. За ход разрешается соединить любые две из них отрезком, не пересекающим отрезков, проведенных ранее. Проигрывает тот, кто не может сделать ход.
В круговой сегмент AMB вписана трапеция ACDB, у которой
AC = CD и
Игра начинается с числа 1000. За ход разрешается вычесть из имеющегося числа любое, не превосходящее его, натуральное число, являющееся степенью двойки (1 = 20). Выигрывает тот, кто получит ноль. На шахматной доске расставили n белых и n чёрных ладей так, чтобы ладьи разного цвета не били друг друга. Найдите наибольшее возможное значение n. Докажите, что SABC В комнате стоят трёхногие табуретки и четвероногие стулья. Когда на все
эти сидячие места уселись люди, в комнате оказалось 39 ног. Сортировка времени Во входном файле записано сначала число N (1<=N<=100), а затем N моментов времени. Каждый момент времени задается 3 целыми числами - часы (от 0 до 23), минуты (от 0 до 60) и секунды (от 0 до 60). В выходной файл выведите моменты времени, упорядоченные в порядке неубывания (момент времени также выводится в виде трех чисел, ведущие нули выводить не обязательно) Пример входного файла: 4 10 20 30 7 30 00 23 59 59 13 30 30 Пример выходного файла: 7 30 0 10 20 30 13 30 30 23 59 59 |
Страница: 1 2 3 >> [Всего задач: 15]
Сортировка времени Во входном файле записано сначала число N (1<=N<=100), а затем N моментов времени. Каждый момент времени задается 3 целыми числами - часы (от 0 до 23), минуты (от 0 до 60) и секунды (от 0 до 60). В выходной файл выведите моменты времени, упорядоченные в порядке неубывания (момент времени также выводится в виде трех чисел, ведущие нули выводить не обязательно) Пример входного файла: 4 10 20 30 7 30 00 23 59 59 13 30 30 Пример выходного файла: 7 30 0 10 20 30 13 30 30 23 59 59
Большая сортировка Дано число N (1<=N<=100000), а затем N натуральных чисел из диапазона от 1 до 100. Выведите N чисел в неубывающем порядке Пример входного файла 5 3 1 2 4 2 Пример выходного файла 1 2 2 3 4
Вам дана программа, решающая 136 задачу (p139.pas).
Требуется найти в ней ошибку, и объяснить (письменно
или устно), почему так происходит.
Текст программы p139.pas
const nmax=100;
var a:array[1..nmax] of integer;
n:integer;
i,j,g:integer;
f1,f2:text;
begin
assign(f1,'input.txt');
reset(f1);
assign(f2,'output.txt');
rewrite(f2);
{Чтение входных данных}
read(f1,n);
for i:=1 to n do read(f1,a[i]);
{Сортировка массива}
for i:=1 to n do begin {Подбираем число на i-ое место}
g:=i; {Считаем, что самое маленькое число,
которое нам встретилось, стоит на месте i}
for j:=i+1 to n do {Перебираем все числа с i+1 до конца массива}
if a[j]<a[g] then g:=j; {Если нашли число, которое меньше,
чем то, что уже найдено, запоминаем его}
{Меняем местами числа, стоящие на i-ом и
на g-ом местах }
{Если a[i]=x, a[g]=y, то после выполнения
команды: }
a[i]:=a[i]+a[g]; {a[i]=x+y, a[g]=y}
a[g]:=a[i]-a[g]; {a[i]=x+y, a[g]=(x+y)-y=x}
a[i]:=a[i]-a[g]; {a[i]=(x+y)-x=y}
{То есть после этого a[i]=y, a[g]=x
обмен значений произошел}
end;
{Выводим результат}
for i:=1 to n do
write(f2,a[i],' ');
close(f1);
close(f2);
end.
Результаты олимпиады N участников олимпиады получили уникальные номера от 1 до N. В результате решения задач на олимпиаде каждый участник получил некоторое количество баллов (целое число от 0 до 600). Известно, кто сколько баллов набрал. Требуется перечислить участников олимпиады в порядке невозрастания набранных ими баллов. Входные данные. Вводится сначала число N (1<=N<=100) - количество участников олимпиады. Далее вводится N чисел - количества набранных участниками баллов (1-е число - это баллы, набранные участником номер 1, 2-е - участником номер 2 и т.д.) Выходные данные. Выведите в выходной файл N чисел - номера участников в порядке невозрастания набранных ими баллов (участники, набравшие одинаковое количество баллов могут быть выведены в любом порядке). Пример входного файла 5 100 312 0 312 500 Пример выходного файла 5 2 4 1 3
Количество операций
Дана программа сортировки (p141.pas). Требуется узнать, сколько раз
при сортировке конкретного массива с помощью этой программы
выполняется операция сравнения двух элементов массива (строка 25 программы).
Входные данные
В файле input.txt записан массив в формате (и удовлетворяющий ограничениям)
из задачи 136.
Выходные данные
В файл output.txt ваша программа должна печатать одно число - сколько
раз в процессе сортировки этого массива программой p141.pas выполнится
команда сравнения двух элементов массива.
Пример входного файла
5
3 1 2 4 2
Пример выходного файла
10
Текст программы p141.pas
const nmax=100;
var a:array[1..nmax] of integer;
n:integer;
i,j,g:integer;
f1,f2:text;
begin
assign(f1,'input.txt');
reset(f1);
assign(f2,'output.txt');
rewrite(f2);
{Чтение входных данных}
read(f1,n);
for i:=1 to n do read(f1,a[i]);
{Сортировка массива}
for i:=1 to n do begin {Подбираем число на i-ое место}
g:=i; {Считаем, что самое маленькое число,
которое нам встретилось, стоит на месте i}
for j:=i+1 to n do {Перебираем все числа с i+1 до конца массива}
if a[j]<a[g] then g:=j; {Если нашли число, которое меньше,
чем то, что уже найдено, запоминаем его}
{Меняем местами числа, стоящие на i-ом и
на g-ом местах }
{Если a[i]=x, a[g]=y, то после выполнения
команды: }
if i<>g then begin
a[i]:=a[i]+a[g]; {a[i]=x+y, a[g]=y}
a[g]:=a[i]-a[g]; {a[i]=x+y, a[g]=(x+y)-y=x}
a[i]:=a[i]-a[g]; {a[i]=(x+y)-x=y}
{То есть после этого a[i]=y, a[g]=x
обмен значений произошел}
end;
end;
{Выводим результат}
for i:=1 to n do
write(f2,a[i],' ');
close(f1);
close(f2);
end.
Страница: 1 2 3 >> [Всего задач: 15] |
||||||||||||||||||||||||||||||||||||||||||||||||||
|
© 2004-...
МЦНМО
(о копирайте)
|
Пишите нам
|
|