tanyakondratev2
26.08.2022 18:57

Дана последовательность из n
(1≤


10
5
)
(
1

n

10
5
)
чисел

a
i
(1≤


10
12
)
(
1

a
i

10
12
)
и

q
запросов
(1≤


10
5
)
(
1

q

10
5
)
. Каждый запрос предстает собой число

p
i
(1≤


10
12
)
(
1

p
i

10
12
)
.
Задача состоит в том, чтобы на каждый запрос вывести ответ - входит ли

p
i
в исходную последовательность.
Входные данные
В первой строчке задается число

n
(1≤


10
5
)
(
1

n

10
5
)
и количество запросов

q
(1≤


10
5
)
(
1

q

10
5
)
. Далее идут

n
чисел

a
i
(1≤


10
12
)
(
1

a
i

10
12
)
. Далее записаны

q
запросов

p
i
(1≤


10
12
)
(
1

p
i

10
12
)
.
Выходные данные
Вывести

q
ответов на запросы: на

i
-й запрос вывести ответ - «Yes», если

p
i
содержится в исходной последовательности и «No» в остальных случаях)

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
iriskaesipova
09.04.2021 02:18

#include <iostream>

#include <string>

using namespace std;

string dectobin(int num) // функция для перевода

{

string result; // строка для результата

for (; num!=0; num>>=1) // цикл со сдвигом вправо на 1 бит (работает быстрее чем деление на 2,

//но также делит)

result.insert(0, num&1 ? "1" : "0"); // вставка цифры в начало строки (1 если последний бит 1, 0 если 0)

return result; // возврат результата

}

int main(int argc, char *argv[])

{

// тут думаю понятно, ввод данных и вызов функции

int num;

cout<<"Enter number: ";

cin>>num;

cout<<dectobin(num);

return 0;

}

0,0(0 оценок)
Ответ:
Ariya03
16.12.2021 14:36

То есть вы знаете, что такое filter, что такое лямбда-выражения, для чего нужен префикс " * ", но при этом не знаете, как считывать какие либо данные с клавиатуры?)))

Если вам нужно считывать слова по одному, вы можете воспользоваться генератором списков:

words = [input() for _ in range(N)] #где N - произвольная длина вводимого списка

Если вы хотите ввести все слова, которые нужно обработать, разом в одну строку, используйте строковый метод .split(sep) и вводите слова разделяя каким либо уникальным символом (обычно это просто пробел)

words = input().split(' ')

Если у вас есть сомнения по поводу вводимого текста, или в задании обговорено, что вводимый текст может быть хоть статьёй из газеты, используйте модули string и re, что бы удалить из текста всякую шелуху и уже потом с ним работать

import re

import string

rawInput = input()

CleanText = re.sub(r' +', ' ', re.sub(rf'[{string.punctuation}]|\n', '', rawInput)) #Это удалит из введённого текста повторяющиеся пробелы, знаки препинания и символы переноса строки

words = CleanText.split(' ')

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