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

Устанавите взаимно-однозначное соотсвестиеустановите взаимно-однозначное соотвествие

Показать ответ
Ответ:
Nikita7152
Nikita7152
01.03.2023 03:53

import random

class Passanger:

   def __init__(self, name_pass, bagadge_value, bagadge_quantity):

       """Constructor"""

       self.name_pass = name_pass

       self.bagadge_value = bagadge_value

       self.bagadge_quantity = bagadge_quantity

if __name__ == "__main__":

   list_name_pass = ["Иванов","Иванова","Калдыбег","Мухутдинов","Карелов","Анакондов"]

   list_bagadge_value = [25,1,4,14,29,35,2,4,25,6,25,3]

   list_bagadge_quantity = [1,4,5,1,1,1,1,1,1,4]

   list_passangers = []

   random.shuffle(list_name_pass)

   random.shuffle(list_bagadge_value)

   random.shuffle(list_bagadge_quantity)

   for i in range(len(list_name_pass)):

       list_passangers.append(Passanger(list_name_pass[i],list_bagadge_value[i], list_bagadge_quantity[i]))

   print("Подходят под условие:")

   for i in list_passangers:

       if (i.bagadge_value < 25 and i.bagadge_quantity == 1):

           print(i.name_pass, i.bagadge_value, i.bagadge_quantity)

   print("")

   print("Пассажиры:")

   for i in list_passangers:

       print(i.name_pass, i.bagadge_value, i.bagadge_quantity)

Объяснение:

https://pastebin.com/hNT2m49y

0,0(0 оценок)
Ответ:
iukhg
iukhg
07.05.2020 18:15
                                     PascalABC.NET                                       function ToBinary (x:integer):string; beginif (x>0) then ToBinary := ToBinary(x div 2) + (x mod 2).ToString;end; function FromBinary (x:string):integer; beginif (x.Length>0) then FromBinary := FromBinary(x.Substring(1)) + x[1].ToDigit*Round(Power(2,x.Length-1));end; function func (x:integer):integer; beginvar s := ToBinary(x); loop 2 do s += s.AsEnumerable.Sum(c->c.ToDigit) mod 2; func:=FromBinary(s);end; begin Println('f(N):',func(ReadInteger('N:'))); Println('Количество:',(1..160).Count(x->func(x) in 90..160)); end.

Примечание:

Если к числу в двоичной системе счисления приписывать в конец цифры, то число увеличивается и никак не может уменьшится. Поэтому, n<f(n). Следовательно, перебор различных чисел, принадлежащих отрезку [90;160], можно смело ставить до 160 (можно и меньше, но лень расписывать вычисления).

ToBinary - функция перевода числа из десятичной СС в двоичную. Можно писать любой алгоритм, необязательно в точности использовать мой.

FromBinary - функция перевода числа из двоичной СС в десятичную. Можно писать любой алгоритм, необязательно в точности использовать мой.

func - функция, которая выполняет преобразования числа согласно условию (пункты 1, 2, 3, 4).

Код кажется большим только из-за процедур и begin/endов. Без них - всего то 7 строчек :). В скринах можно проверить, действительно ли 19 (40-22+1).

Пример работы:


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