SkyZee
24.08.2020 22:54

в преддверии участия в кадетских играх в сборную по спортивному многоборью набирают кадет со всех взводов. от каждого взвода нужно подать по одному участнику. во взводе все кадеты различного роста. главное требование отбора: из взвода выбирается кадет среднего роста (т.е. при условии, что во взводе все кадеты различного роста, в шеренге количество кадет ростом ниже данного кадета равно количеству кадет ростом выше него). трудность заключается в том, что в базе данных сведения о росте кадет содержатся в разных единицах измерения. на выполнение данной командиру взвода отвели слишком мало времени, поэтому он не успеет посчитать вручную. напишите программу, командиру взвода определить фамилию потенциального участника соревнований. гарантируется, что такой участник всегда имеется и во взводе он всегда один.

входные данные:
в первой строке на вход подается нечетное натуральное число n (0 в каждой из n последующих строк вводится фамилия кадета (суммарное количество символов во всех фамилиях не должно превышать 106) и число m (0
выходные данные:
в новой строке выводится фамилия кадета, средним ростом и являющимся кандидатом в сборную.

примечание:
для перевода между единицами измерения воспользуйтесь следующими соотношениями:
1 дюйм (d) = 25.4 мм
1 вершок (v)= 44.5 мм
1 метр (m)= 1000 мм
1 сантиметр (s)= 10 мм
1 фут (f)= 304.8 мм

группы тестов:

1) n < 100, m < 1000 20 тестов

2) n < 1000, m < 1 20 тестов

3) n < 1, m < 1 20 тестов

sample input:
5
ivanov 2 m
petrov 6 f
sidorov 205 s
pupkin 75 d
mikheev 40 v
sample output:
pupkin

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
myagkikhigorek
21.03.2020 15:24
1)
Var
n,m,max,min:integer;
Begin
write('Введите число: ');
readln(n);
min:=9;   
max:=0;
while n>0 do 
begin 
m:=n mod 10; 
if m<min then min:=m; 
if m>max then max:=m; 
n:=n div 10; end;   
writeln('Максимальное число: ',max);   
writeln('Минимальное число: ',min);
End.
2)
var
i,count: integer;
n,s:string;
begin
writeln('Введите число: ');
readln(s);
writeln('Введите цифру: ');
readln(n);
for i:=1 to length(s) do
if(s[i]=n)then
count:=count+1;
writeln('Количество раз, когда встречается цифра = ',count);
end.
0,0(0 оценок)
Ответ:
annet150586
07.03.2020 22:05

В n будем хранить количество чисел, которые ещё нужно вывести. a и b - предыдущее и текущее числа Фибоначчи. По определению, следующее число Фибоначчи равно сумме двух предыдущих, так что новое значение b будет a + b. Чтобы не заводить новую временную переменную, новое значение a можно будет найти, вычитая из нового b старое a, получится (a + b) - a = b.

Код процедуры:

procedure print_fib(n: integer);

var a, b, t: integer;

begin

   a := 0;

   b := 1;

   while n > 0 do

   begin

       write(b, ' ');

       b := a + b;

       a := b - a;

       n := n - 1;

   end;

end;

Пример основной программы:

begin

   print_fib(10)

end.

Вывод:

1 1 2 3 5 8 13 21 34 55

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота