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

На уроке информатики учитель предложил Васе сыграть в следующую игру. На доске записаны по порядку все целые числа от 1 до N. За один ход можно стереть либо все числа, стоящие на чётных позициях, либо все числа, стоящие на нечётных позициях. После этого оставшиеся числа перенумеровываются заново слева направо; нумерация начинается с единицы.

Игра продолжается, пока на доске есть хотя бы два числа.

Вася выиграет, если после окончания игры единственным оставшимся на доске числом будет число X. Выведите последовательность ходов, которая приведёт к победе Васи. Гарантируется, что Вася всегда может победить.

Входные данные
В первой строке содержится целое число N (2 ≤ N ≤ 109) — начальное количество чисел на доске.

Во второй строке содержится целое число X (1 ≤ X ≤ N) — число, которое должно остаться в конце игры.

Выходные данные
Выведите последовательность целых чисел, состоящую из чисел 1 и 2 — ходов Васи. Число 1 означает, что Вася стирает все числа на нечётных позициях, число 2 — на чётных.

Каждый ход Васи выводите на отдельной строке.

Система оценки
В этой задаче 20 тестов, не считая тестов из условия. За каждый пройденный тест будет начисляться

На тесты наложены следующие ограничения:

Номера тестов

Дополнительные ограничения

1 – 2

Тесты из условия

3 – 10

N ≤ 1000

11

X = 1

12 – 14

X = N

15 – 22

без дополнительных ограничений

Примеры
Ввод

Вывод

Пояснение

10
5

2
2
1

На доске записаны числа:
1 2 3 4 5 6 7 8 9 10
Первым ходом Вася стирает все числа на чётных позициях, на доске остаются числа:
1 3 5 7 9
Затем позиции оставшихся чисел перенумеровываются — то есть оставшиеся после первого хода Васи числа получат номера от 1 до 5. Вторым ходом Вася снова удаляет все числа на чётных позициях, на доске остаются числа:
1 5 9
Третьим ходом Вася удаляет все числа на нечётных позициях, и на доске останется только число 5, которое и было нужно.

6
6

1
2
1

Во втором примере выписаны числа
1 2 3 4 5 6
Вася стирает числа на нечётных позициях, остаются
2 4 6
Вася стирает число 4, которое стоит на чётной позиции. Остаются
2 6
Вася стирает число 2, которое стоит на нечётной позиции. Осталось число 6.

Показать ответ
Ответ:
alekseywindas
alekseywindas
10.05.2022 15:54

Представление.

Объяснение:

   В данном случае не хватает сведений для того, чтобы с уверенностью ответить на данный вопрос. Можно с уверенностью сказать, что номер уже имеется на каком-то источнике информации, то есть это не "сбор". Также это не "хранение", так-как информация с одного носителя в конечном итоге перемещается на другой. Также это не является "передачей" информации в полном смысле этого словосочетания, так-как передача осуществляется без преобразования информации.

   Соответственно запись номера в телефонную книжку - представление информации из того, в каком виде эта информация поступила к записывающему в текст.  

0,0(0 оценок)
Ответ:
megaandreychuk
megaandreychuk
06.04.2021 06:07
1. Программа для создания файла

// PascalABC.NET 3.1, сборка 1239 от 08.05.2016
type
  tBook=record
    author:string[30];
    naim:string[50];
    pages:integer;
    godizd:integer
    end;
begin
  var f:file of tBook;
  Rewrite(f,'books.dat');
  Writeln('Ввод данных по книгам');
  var s1,s2:string;
  var i1,i2:integer;
  var book:tBook;
  repeat
    s1:=ReadlnString('Автор или * для окончания ввода:');
    if s1<>'*' then begin
      s2:=ReadlnString('Название книги:');
      i1:=ReadlnInteger('Количество страниц:');
      i2:=ReadlnInteger('Год издания:');
      (book.author,book.naim,book.pages,book.godizd):=(s1,s2,i1,i2);
      Write(f,book)
      end
  until s1='*';
  Writeln('*** Ввод завершен ***');
  f.Close
end.

Тестовое решение
Ввод данных по книгам
Автор или * для окончания ввода: Жюль Верн
Название книги: 80 тысяч километров под водой
Количество страниц: 573
Год издания: 1951
Автор или * для окончания ввода: Сергей Лукьяненко
Название книги: Дозор
Количество страниц: 934
Год издания: 2004
Автор или * для окончания ввода: Жюль Верн
Название книги: Властелин мира
Количество страниц: 104
Год издания: 2011
Автор или * для окончания ввода: *
*** Ввод завершен ***

2. Программа для выборки

// PascalABC.NET 3.1, сборка 1239 от 08.05.2016
type
  tBook=record
    author:string[30];
    naim:string[50];
    pages:integer;
    godizd:integer
    end;
begin
  var f:file of tBook;
  Reset(f,'books.dat');
  var s:=ReadlnString('Автор книги:');
  var y:=Readinteger('Год издания, не ранее:');
  var k:=0;
  var book:tBook;
  while not f.Eof do begin
    Read(f,book);
    if (book.author=s) and (book.godizd>=y) then begin
      Writeln(book);
      Inc(k)
      end;
  end;
  if k=0 then Writeln('Таких книг не найдено');
  f.Close
end.

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