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

Люди, ! у меня билет попался: сохранение и печать текста в среде текстового редактора это вопрос, что мне тут надо

Показать ответ
Ответ:
11111269
11111269
01.04.2020 16:03

Можно решить "по-умному". Можно "по-простому". По-умному интереснее решать на всяких C++. На python приятнее решать по-простому.

variants = []n = int(input("n = "))def silly(k):    variants = []    for ones in range(k + 1):        for twos in range(k // 2 + 1):            for fifth in range(k // 5 + 1):                for tenth in range(k // 10 + 1):                    s = tenth * 10 + fifth * 5 + twos * 2 + ones                    if s > k:                        break                    if s == k:                        variants.append((ones, twos, fifth, tenth))    return variantsprint("Количество вариантов: %d" % len(variants))for v in variants:    print("Рублями: %d; Двойками: %d; Пятёрками: %d; Десятками: %d." % v)

Поясняю: перебираем варианты, если сумма равна исходному числу, то записываем в варианты, если сумма получается больше, то можем пропустить оставшиеся варианты, так как перебираем от меньшего к большему.

Есть другой подход. "Умный".

Выглядит он так.

def smart(variants, ones, twos=0, fifth=0, tenth=0):    v = (ones, twos, fifth, tenth)    if v not in variants:        variants.append(v)        if ones - 2 >= 0:            smart(variants, ones - 2, twos + 1, fifth, tenth)        if ones - 5 >= 0:            smart(variants, ones - 5, twos, fifth + 1, tenth)        if ones - 10 >= 0:            smart(variants, ones - 10, twos, fifth, tenth + 1)        return variants

Поясняю: Ясное дело, что сумму n можно описать как n монеток по 1 рублю. А все остальные варианты вытекают из этого путем отнятия 2, 5 или 10 рублей от исходной суммы и дописыванием единиц в соответствующие параметры. Такой подход позволяет избежать неправильных комбинаций, однако может генерировать дублирующие варианты. Чтобы этого избежать, проверяем наличие варианта в сохраненных.


Написать программу в питоне напишите пояснение к написанной программе
0,0(0 оценок)
Ответ:
Seagate0012
Seagate0012
05.11.2022 18:30

a = map(int, input("Массив: ").split()) #Вводим элементы массива через пробел. "split()" отделяет то, что мы ввели для "map()". "map()" преобразует введённые числа в числовой тип данных.

b = [] #Задаем новый массив

for i in list(a): #Цикл, где "list()" преобразует числа переменной "a" в массив введённых чисел.

   if i%2!=0: #Если элемент массива перменной "a", не делится на 2, то мы добавляем этот элемент к массиву переменной "b".

       b+=[str(i)]

print("Нечётные элементы: {}".format(", ".join(b))) #Выводим новый массив, применяя расстановку запятых "format(", ".join(b))"

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