В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
ramazanovmagomed
ramazanovmagomed
09.09.2022 21:39 •  Информатика

N, k= [int(i) for i in input().split()] b = 1
list = [1]

while len(list) < k:
if b != n:
list.extend(list)
list.insert(len(list) // 2, b+1)
b = b + 1

k = k - 1
print(list[k])
как можно максимально сократить текст
ограничение по времени на тест1 секунда
ограничение по памяти на тест256 мегабайт
вводстандартный ввод
выводстандартный вывод
Хлоя, как и Владик, — спортивный программист. У нее не было проблем с тем, чтобы добраться до олимпиады, но на самой олимпиаде ей понадобилась ваша ! У нее не получается решить следующую задачу.

Рассмотрим следующий алгоритм генерации последовательностей целых чисел. Первоначально имеется последовательность из одного элемента, равного 1. Далее производится (n - 1) шаг. На каждом шаге берется последовательность, полученная на предыдущем шаге, приписывается сама к себе в конец, а в середину вставляется символ с минимальным положительным, не использованным ранее, числом. Например, после первого шага получится последовательность [1, 2, 1], а после второго — [1, 2, 1, 3, 1, 2, 1].

Необходимо вывести значение элемента, стоящего на k-й позиции (элементы пронумерованы с 1) в итоговой последовательности, т. е. после (n - 1) шага Хлое решить задачу!

Входные данные
В единственной строке содержатся два целых числа n и k (1 ≤ n ≤ 50, 1 ≤ k ≤ 2n - 1).

Выходные данные
Выведите одно целое число — число, стоящее в итоговой последовательности на позиции k.

Примеры
входные данныеСкопировать
3 2
выходные данныеСкопировать
2
входные данныеСкопировать
4 8
выходные данныеСкопировать
4
Примечание
В первом примере итоговая последовательность — [1, 2, 1, 3, 1, 2, 1]. Число, стоящее на второй позиции, равно 2.

Во втором примере итоговая последовательность — [1, 2, 1, 3, 1, 2, 1, 4, 1, 2, 1, 3, 1, 2, 1]. Число на восьмой позиции — 4.

Показать ответ
Ответ:
natilis
natilis
29.01.2022 03:00
Var     n, m, sum: integer;   begin     sum : = 0;     repeat     writeln('введите числ с которого начинается ряд');     readln(n);     writeln('введите число которым заканчивается ряд');     readln(m);     until n< m;       if odd(n) then n : = n + 1;     if odd(m) then m : = m - 1;     sum : = (n + m) * (m - n + 2) div 4;     writeln('сумма чётных чисел натурального ряда: ', sum); end.
0,0(0 оценок)
Ответ:
Amy1503
Amy1503
23.03.2021 10:30

1) Program Massiv1;

    Uses Crt;

    var k:array[1..12] of real;

           i,c:integer;

begin

     clrscr;    

     write('Введите элементы массива k:');

     c:=0;   

     for i:=1 to 12 do

        begin 

            readln(k[i]);

            if (k[i]<0) then Inc(c);

 

     end;

 

   writeln;

    writeln;  

 for i:=1 to 12 do write(k[i]:4:4);

 writeln;  

  writeln('Количество элементов <0:',c); 

  readkey;      

end.   

 

 

 

2) Program Massiv2;

    Uses Crt;

    var m:array[1..10] of integer;

         i,c:integer;

begin

     clrscr;    

     write('Введите элементы массива m:');

     c:=0;   

     for i:=1 to 10 do

        begin 

            readln(m[i]);

            if (m[i]=3) then Inc(c);

     end;

   writeln;

    writeln;  

 for i:=1 to 12 do write(m[i]:4);

 writeln;  

  writeln('Количество элементов =3:',c); 

  readkey;      

end.   

 

В третьем задании  видимо имеется ввиду номер элемента этого массива, т.к по условию задачи массив у нас один.

 

 

 3) Program Massiv3;

    Uses Crt;

    var m:array[1..8] of integer;

           i,c,max:integer;

begin

     clrscr;    

     write('Введите элементы массива m:');

     c:=0;   

     for i:=1 to 8 do  readln(m[i]);

   writeln;

   writeln;  

 max:=m[1] 

 for i:=1 to 8 do

   begin

        if  (m[i]>max) then

                    begin

                         max:=m[i];

                         c:=i 

                   end;        

        write(m[i]:4); 

end;

  writeln('Индекс максимального элемента =:',c); 

  readkey;      

end.   

 

4) Program Massiv4;

    Uses Crt;

    var m:array[1..12] of integer;

           i,c,max,sum:integer;

begin

     clrscr;    

     write('Введите элементы массива m:');

     c:=0; sum:=0;   

     for i:=1 to 12 do  readln(m[i]);

   writeln;

   writeln;  

 max:=m[1] 

 for i:=1 to 12 do

   begin

        if  (m[i]>max) then

                    begin

                         max:=m[i];

                         c:=i 

                   end;        

        write(m[i]:4);  

end;

for i:=1 to c-1 do sum:=sum+m[i];

 writeln('Количество элементов расположенных до max :',с-1); 

 writeln('Сумма элементов расположенных до max :',sum); 

 readkey;      

end.   

 

 В пятом задании  видимо имеется ввиду значения элементов массива меньшие чем сумма первого и последнего

 

 

 

5) Program Massiv5;

    Uses Crt;

    var k:array[1..15] of real;

           sum:real;

           i,c:integer;

begin

     clrscr;    

     write('Введите элементы массива k:');

     c:=0;   

     for i:=1 to 15 do   readln(k[i]);

  sum:=k[1]+k[15];       

   writeln;

   writeln;  

 for i:=1 to 15 do

     begin

          write(k[i]:4:4);

           if  (k[i]<sum) tnen Inc(c); 

         end;

 writeln;  

  writeln('Количество элементов :',c); 

  readkey;      

end.   

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