Вопрос задан 28.06.2023 в 21:35. Предмет Информатика. Спрашивает Лебедев Денис.

В кинотеатре места часто расставляют со сдвигом соседних рядов для удобства зрителей. Пусть в таком

кинотеатре 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-го проданного билета. Пример Ввод 10 25 Вывод 3 4 Пояснение Билеты с 1 по 10 будут проданы в первый ряд. Билеты с 11 по 21 будут проданы во второй ряд. В третий ряд будут проданы билеты, начиная с 22-го, 25-й билет окажется на 4-м месте 3-го ряда.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Боброва Лера.

Ответ:

n=int(input('n? '))

k=int(input('k? '))

r=0

while k>0: nr=(n+1 if r%2 else n); k-=nr; r+=1

print ('Ряд',r,'Место',nr-abs(k))

Объяснение:

0 0
Отвечает Беник Дарина.

Ответ:

def run():

   n = int(input())

   k = int(input())

   r = 1

   while k > n:

       k -= n

       if r % 2 == 1:

           n += 1

       else:

           n -= 1

       r += 1

   return str(r) + ' ' + str(k)

print(run())

Объяснение:

Python, на 60 баллов

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения этой задачи нужно учесть, что билеты продаются в четных и нечетных рядах по-разному, а также определить, в каком ряду будет продаваться K-й билет.

Давайте рассмотрим несколько случаев:

  1. Если K <= N * (N + 1), это значит, что билеты будут продаваться в нечетных рядах. Для определения номера ряда, можно воспользоваться формулой:

    row = (K - 1) / N + 1

    Где "/" обозначает целочисленное деление, и мы прибавляем 1, чтобы получить номер ряда с учетом начала с 1.

    Теперь, чтобы найти номер места в этом ряду, можно воспользоваться формулой:

    seat = K - (row - 1) * N

  2. Если K > N * (N + 1), это значит, что билеты будут продаваться в четных рядах. Для определения номера ряда в этом случае, также используем формулу:

    row = (K - 1 - N * (N + 1)) / (N + 1) + 1

    Где "/" обозначает целочисленное деление, и мы прибавляем 1, чтобы получить номер ряда с учетом начала с 1.

    А номер места в этом ряду можно найти так:

    seat = K - N * (N + 1) - (row - 1) * (N + 1)

Теперь давайте напишем код для решения этой задачи на Python:

python
N = int(input()) K = int(input()) if K <= N * (N + 1): row = (K - 1) // N + 1 seat = K - (row - 1) * N else: K -= N * (N + 1) row = (K - 1) // (N + 1) + 1 seat = K - N * (N + 1) - (row - 1) * (N + 1) print(row, seat)

Теперь, если вы введете значения N = 10 и K = 25, программа выведет "3 4", как в вашем примере.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос