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

В кинотеатре места часто расставляют со сдвигом соседних рядов для удобства зрителей. Пусть в таком кинотеатре N мест в 1-м, 3-м, 5-м и всех нечётных рядах и N + 1 место во 2-м, 4-м и всех чётных рядах. Места в рядах нумеруются от 1 до N в нечётных рядах и от 1 до N + 1 в чётных рядах. Касса продаёт билеты подряд: сначала в 1-й ряд на места с 1-го по N-е, потом — во 2-й ряд на места с 1-го по N + 1-е, затем в 3-й ряд с 1-го места и т.д.

Определите номер ряда и номер места для K-го проданного билета.

Входные данные
Программа получает на вход два целых числа. В первой строке записано число N (1 ≤ N ≤ 109) — количество мест в 1-м ряду кинотеатра. Во второй строке записано число K — порядковый номер проданного билета (1 ≤ K ≤ 2×109).

Выходные данные
Программа должна вывести два числа: номер ряда и номер места K-го проданного билета.

Показать ответ
Ответ:
coolparschin20
coolparschin20
06.04.2021 19:50
Var s:string;
m,mn,m1,m2:set of char;
i,k,l:integer;
begin
writeln('Введите последовательность русских слов:');
readln(s);
m:=['Б','б','В','в','Г','г','Д','д','Ж','ж','З','з','Й','й','Л','л','М','м','Н','н','Р','р'];
k:=0;
for i:=1 to length(s) do
 if not (s[i] in ['А'..'Я','а'..'я',' ','.']) then k:=k+1;
if k>0 then writeln('Ошибка ввода')
else begin
 while pos('  ',s)>0 do delete(s,pos('  ',s),1);
 if s[length(s)]='.' then s[length(s)]:=' ';
 k:=0; mn:=[]; m1:=m; m2:=m;
 for i:=1 to length(s) do
  begin
  mn:=mn+[s[i]];
  if s[i]=' ' then
   begin
   k:=k+1;
   if k mod 2=1 then m1:=m1*mn else m2:=m2*mn;
   mn:=[];
   end;
  end;
 mn:=m1-m2;
 print(mn);
     end;
end.

Пример:
Введите последовательность русских слов:
напечатать в   алфавитном порядке    звонкие буквы.
{н} 
0,0(0 оценок)
Ответ:
Jdjdkdjd
Jdjdkdjd
06.04.2021 19:50
// PascalABC.NET 3.3, сборка 1634 от 14.02.2018
// Внимание! Если программа не работает, обновите версию!

begin
  var L:='бвгджзйлмнр'.ToList;
  var s:=ReadlnString;
  var p:=Pos('.',s);
  if p>0 then s:=s[:p];
  var aw:=s.ToWords;
  var i:=1;
  while i<=aw.Length-1 do begin
    var L1:=L.ToList;
    foreach var c in L1 do
      if not aw[i-1].Contains(c) then L.Remove(c)
      else
        if aw[i].Contains(c) then L.Remove(c);
    i+=2
    end;
  if L.Count>0 then L.Println(',')
  else Writeln('Нет звонких согласных, удовлетворяющих условию')
end.

Примеры
бодро    шагаем  дрова несем        друзья  товарищи
д

вместе весело    шагать    по   просторам
Нет звонких согласных, удовлетворяющих условию

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