Открыть Электронные книги
Категории
Открыть Аудиокниги
Категории
Открыть Журналы
Категории
Открыть Документы
Категории
5 задание
s1 –площадь квадрата
s2 –площадь круга
а1 – сторона квадрата
а2 – диаметр круга
program o5;
var s1,s2,a1,a2:real;
begin
writeln('vvod s1 s2');
readln (s1, s2);
a1:=sqrt(s1);
a2:=2*sqrt(s2/pi);
if round(a1)=round(a2) then writeln('yes');
end.
Output
vvod s1 s2
4 3.14
yes
1 задание
Задача 1 Алгоритм Евклида
Дима недавно начал изучать информатику. Один из первых алгоритмов, который он
узнал — алгоритм Евклида нахождения наибольшего общего делителя (НОД) двух чисел.
Напомним, что наибольшим общим делителем чисел а и b называется наибольшее
натуральное число х, такое что и а, и b делятся на него без остатка.
Алгоритм Евклида состоит в следующем:
1. Пусть a, b — числа, НОД которых надо найти.
2. Если b = 0, а — искомый НОД.
3. Если b > а, поменять а и b местами.
4. Присвоить а значение а-b.
5. Вернуться к шагу 2.
Дима уже попрактиковался в применении этого алгоритма и вычислил с его
помощью не одну сотню наибольших общих делителей. Однако просто вычислять ему
скоро надоело. Теперь он размышляет над новой задачей. Пусть заданы числа а, b, с и d.
Требуется узнать, будет ли в процессе применения алгоритма Евклида к паре чисел
(а, b) (\ < a, b < 1018) такой момент, что перед шагом 2 алгоритма а будет равно с, а b —
равно d.
program o1;
var a,b,c,d,z,nod:real;
begin
writeln('vvod a,b,c,d');
readln (a,b,c,d);
repeat
1
if b>a then
begin
z:=a;
a:=b;
b:=z;
end;
a:=a-b;
if (a=c) and (b=d) then writeln ('a=c=',a,' b=d=',b);
until b=0;
nod:=a;
writeln('nod=',nod);
end.
═ Output
vvod a,b,c,d
8444
a=c= 4.0000000000E+00 b=d= 4.0000000000E+00
nod= 4.0000000000E+00
2 задание
Задача 2 Скобочки
Строка, состоящая из символов «(« и «)» называется скобочной
последовательностью. Скобочная последовательность называется правильной, если она
может быть получена из некоторого корректного арифметического выражения удалением
всех символов кроме скобок. Например, правильная скобочная последовательность « (
() ) () » может быть получена из выражения « (2- (3+4) * 6) * (1 + 1)».
Другое определение правильной скобочной последовательности можно дать
следующим образом:
1. Пустая строка является правильной скобочной последовательностью.
2. Если S — правильная скобочная последовательность, то {S) — тоже
правильная скобочная последовательность,
3. Если S и Т — правильные скобочные последовательности, то ST —
правильная скобочная последовательность.
Глубиной правильной скобочной последовательности называется максимальная
разность между количеством открывающихся и закрывающихся скобок в префиксе
последовательности. Например, глубина последовательности « () () ( () ) » равна двум
(префикс: « () {) ( (» имеет 4 открывающихся и 2 закрывающихся скобки).
Требуется по заданным п и к найти количество правильных скобочных
последовательностей с п открывающимися скобками, которые имеют глубину к.
2
выведем формулу
z1=n-k+1
z=z1+z2
z2 не вывести
Другой способ
K N n-k Z1 z2
2 2 0 1 0
2 3 1 2 1
3 4 1 2 1
1 3 2 3 0
2 4 2 3 4
2 5 3 4 8
3 6 3 4 >9
2 6 4 5
1. ввести N и K
2. Обозначить “(“ - 1, “)” - 0
3. перебрать все возможные перестановки из двух элементов в группах длиной N*2 и
занести в массив из этих перестановок (алгоритм не знаю)
4. рассматривая каждый элемент полученного массива, выбрать и посчитать
количество вариантов, когда
(количество 0 равно количеству 1) и
(количество идущих подряд 1 равно K или количество идущих подряд 0 равно K)
4 задание
3
jmin1, jmax1 – массивы минимальных и максимальных индексов в последовательностях
некрашеных досок
к – порядковый номер последовательности некрашеных досок
f – значение суммы (количества) в последовательности некрашеных досок
d1 – массив сумм (количеств) в последовательностях некрашеных досок
maxd1 – максимальная последовательность некрашеных досок
jminm, jmaxm – ее индексы
st – стоимость заказа
a – массив окраса количеств досок в зависимости отпредложения
с – массив стоимости предложений
Задача решена в упрощенном варианте:
Есть забор с крашеными и некрашеными досками. Есть 3 коммерческих предложения
окраса досок подряд. Найти максимальную последовательность некрашеных досок и
узнать стоимость ее покраски.
program o4;
var n,i,j,k,jmax:integer;
f,maxd1,jminm,jmaxm,st: integer;
a:array [1..40] of integer;
c:array [1..40] of integer;
d,jmin1,jmax1:array [1..2000] of integer;
d1:array[1..1000] of integer;
begin
writeln('vvod n');
readln (n);
for j:=1 to n do
begin
writeln('vvod d[j]');
readln (d[j]);
end;
for i:=1 to 3 do
begin
writeln('vvod a[i], c[i]');
readln (a[i], c[i]);
end;
k:=1;
f:=0;
for j:=1 to n do
begin
if d[j]=1 then
begin
jmax:=j;
f:=f+d[j];
end
else
begin
d1[k]:=f;
f:=0;
jmax1[k]:=jmax;
inc(k);
end;
end;
4
d1[k]:=f;
jmax1[k]:=jmax;
maxd1:=0;
for n:=1 to k do
begin
if d1[n]>maxd1 then
begin
jmin1[n]:=jmax1[n]-d1[n]+1;
maxd1:=d1[n];jminm:=jmin1[n]; jmaxm:=jmax1[n];
writeln('maxd1=',maxd1,' jminm=',jminm,' jmaxm=',jmaxm);
end;
end;
for i:=1 to 3 do
begin
if
(maxd1=n) and ((maxd1 div a[i])>0) then
begin
st:=(maxd1 div a[i])*c[i]+(maxd1 mod a[i])*c[(maxd1 mod a[i])];
writeln('st=',st);
end;
end;
end.
Output
Vvod n
6
vvod d[j]
0
vvod d[j]
1
vvod d[j]
1
vvod d[j]
1
vvod d[j]
0
vvod d[j]
1
vvod a[i], c[i]
35
vvod a[i], c[i]
57
vvod a[i], c[i]
10 10
maxd1=3 jminm=2 jmaxm=4
1
st=5
5
Задача 3 Радио
Как известно, при распространении радиоволн возникает интерференция,
поэтому если рядом расположены две радиопередающие станции, вещающие на одной и
той же частоте, то качество радиопередач резко снижается. Радиостанция «Радио
Информатика» планирует транслировать свои программы во Флатландии. Министерство
связи выдало радиостанции лицензию на вещание на двух различных частотах.
Компания имеет возможность транслировать свои радиопрограммы с п
радиовышек, расположенных в различных точках страны. Для осуществления
трансляции на каждой радиовышке требуется установить специальный трансмиттер.
Каждый трансмиттер можно настроить на одну из двух частот, выделенных
радиостанции. Кроме частоты вещания, трансмиттер характеризуется также своей
мощностью. Чем мощнее трансмиттер, тем на большее расстояние он распространяет
радиоволны. Для простоты, предположим, что трансмиттер мощности R распространяет
радиоволны на расстояние R километров.
Все трансмиттеры, установленные на вышках, должны, согласно инструкции
министерства, иметь одну и ту же мощность. Чтобы программы радиостанции могли
приниматься на как можно большей территории, мощность передатчиков должна быть как
можно больше. С другой стороны, радиостанция хочет, чтобы прием передач были
качественными на всей территории Флатландии. Прием передач считается качественным,
если не существует такого участка ненулевой площади, на который радиоволны
радиостанции «Радио Информатика» приходят на одной частоте одновременно с двух
вышек.
Даны координаты вышек. Требуется определить, какую максимальную
мощность можно установить на всех трансмиттерах, чтобы можно было выбрать на
каждом трансмиттере одну из двух частот передачи так, чтобы прием был качественным
на всей территории Флатландии.