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

«Этот лис, кажется, и за человека меня не считает», – подумал Нильс и что было силы дёрнул лиса за хвост. От неожиданности Смирре выпустил гуся. Всего только на секунду. Гусь рванулся вверх и, тяжело взмахивая помятыми крыльями, полетел к озеру.

– Ах, так Смирре. – Ну, ладно же!

И Смирре попробовал было схватить Нильса. Но это было не так-то легко – Нильс крепко, обеими руками, держался за его хвост.

Смирре прыгнул вправо, а хвост повернулся влево.

Смирре прыгнул влево, а хвост повернулся вправо.

Смирре кружился, как волчок, но и хвост кружился вместе с ним, а вместе с хвостом и Нильс.

Напишите функцию circle_tail(), которая будет определять, за кем победа в каждом раунде.

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

Функция может принимать произвольное число аргументов-строк и произвольное число именованных аргументов.

Если именованные аргументы не переданы, то функция просто возвращает список кортежей, в которых для каждой строки определены: (суммарное количество слов в каждой части строки, символы, которые встречаются в словах первой части, но не встречаются в словах второй).

Если передан именованный аргумент in_order и он имеет значение True, то кортежи в списке, а также буквы в кортеже, должны быть упорядочены по возрастанию. Если значение False, то по убыванию.

Если передан именованный параметр shift, то сначала всю строку нужно сдвинуть влево на количество позиций, равное значению этого аргумента (то есть столько символов из начала строки переставить в конец).

Ввод
data = ['This Fox does not even seem to think##I am human', 'Nils thought##pulled the Foxs tail as hard as he could', 'In surprise Smirre released the goose.##Just for a second.']
print(*circle_tail(*data), sep="\n")

Вывод
(11, 'vFsextTiokd')
(11, 'gN')
(10, 'mlSghpiI')

Показать ответ
Ответ:
ник5029
ник5029
01.06.2022 02:26

22

Объяснение:

Понятно, что каждая из команд может только увеличить число.

У нас обязательно есть число 16, из него есть два пути:

1. сделать +1

2. сделать x2

Если мы сделаем +1, то после этого уже точно не сможем сделать x2, т.к. 17 x 2 =  34, а 34 > 33, а уменьшить число мы не сможем. Если мы будем делать постоянно +1, то мы точно пройдём через 30.

Значит не нужно делать +1, когда мы на числе 16, а надо делать x2.

Следовательно, концовка у нас точно будет такая 16 -> 32 -> 33.

Теперь надо посчитать, сколько различных получить 16 из 2. К любому такому мы допишем нашу концовку и получим программу подходящую под наши условия, и к тому же все программы, подходящие под данные условия, выглядят именно так.

Считать сколькими можно получить 16 из 2 будет динамическим программированием.

ans[i] - количество различных программ, которые получают i из 2.

Очевидно, ans[2] = 1 (пустая программа).

ans[3] = 1 (нужно сделать +1)

ans[4] = ans[3] + ans[2] = 2 (можно сделать +1 к 3, а можно x2 к 2)

Далее вычисления всегда следующие:

ans[i] = ans[i - 1] + ans[i / 2] для чётных i (можно либо добавить +1 к числу i - 1, либо сделать x2 для числа i / 2)

ans[i] = ans[i - 1] для нечётных i (можно получить только путём добавления +1 к числу i - 1)

Итак, считаем:

ans[2] = 1

ans[3] = ans[2] = 1

ans[4] = ans[3] + ans[2] = 2

ans[5] = ans[4] = 2

ans[6] = ans[5] + ans[3] = 4

ans[7] = ans[6] = 4

ans[8] = ans[7] + ans[4] = 6

ans[9] = ans[8] = 6

ans[10] = ans[9] + ans[5] = 8

ans[11] = ans[10] = 8

ans[12] = ans[11] + ans[6] = 12

ans[13] = ans[12] = 12

ans[14] = ans[13] + ans[7] = 16

ans[15] = ans[14] = 16

ans[16] = ans[15] + ans[8] = 22

Значит 16 из 2 можно получить И столькими же можно получить 33 из 2 выполняя условия задачи.

0,0(0 оценок)
Ответ:
amir158
amir158
21.06.2022 03:23
Top и Left определяют расстояние от границы поля до верхней и левой границы контейнера, в котором поле находится, соответственно. Name определяет системное имя поля, Color-цвет поля, Text-отображаемый текст на поле, Enabled-возможность взаимодействия с полем(к примеру кликнуть по полю), Visible-видимость поля, Font-шрифт отображаемого текста. Изменить текст в поле можно с метода setText("Строка"). Разместить поле на форме можно с метода add(<компонент>), или с визуального инструмента в Visual Studio, Qt Designer. И самое важное: поле нужно в программе для взаимодействия человека с программой, а так же настройки графического интерфейса. А вот отличие для поля и формы я не знаю((
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота