М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
ggg289
ggg289
31.07.2022 01:28 •  Информатика

Составить алгоритм умножения 12 на 4,используя сложение.объяснить словесным и блок-схемой

👇
Ответ:
12*4-12+12+12+12=48
Это и словесео и схема
4,5(8 оценок)
Открыть все ответы
Ответ:
klassklassov
klassklassov
31.07.2022

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

Перво-наперво, нам необходимо получить количество чисел в последовательности. Для этого просто берем первую строку в стандартном вводе и рассматриваем её как число (1 строка кода).

Затем, нам надо получить все элементы последовательности. Но нам не обязательно работать с ними, как с числами, так как с нас не требуют математических операций. Так что просто оставляем их в виде строк (2 строка кода).

Далее, необходимо убрать все лишние значения (не оканчивающиеся на 3) и оставить только нужные. Для этого используем стандартную функцию filter, в которой проверяем последние символы строк на соответствие "3" (строка кода 3).

Осталось только посчитать количество оставшихся строк и вывести результат (строка кода 4).

Код:

N = int(input())

sequence = [input() for _ in range(N)]  # Вводим числа

sequence = list(filter(lambda x: x[-1] == "3", sequence))   # Отсеиваем лишние

print(len(sequence))  # Сколько осталось?

Если ответ устроил, не забудь отметить его как "Лучший".

4,7(8 оценок)
Ответ:
vikahamka711
vikahamka711
31.07.2022

ответ: 123-45-67+89 = 100.

Объяснения:

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

Для нахождения всех подходящих рядов, а так же минимального, напишем простую программу на Python.

Код:

#===============================

sequence = "123456789"

def try_seq(seq):

   if len(seq) == 1:

       yield seq, 0

       return

   variants = ["", "+", "-"]

   item, rests = seq[0], try_seq(seq[1::])

   for (rest, count) in rests:

       for sign in variants:

           yield item + sign + rest, count + (1 if sign != "" else 0)

def find_minimal(seq):

   correct_sequences = list(filter(lambda x: eval(x[0]) == 100, try_seq(seq)))

   correct_sequences.sort(key=lambda x: x[1])

   if len(correct_sequences) == 0:

       return None

   return correct_sequences[0]

for i in range(1, len(sequence)):

   seq = sequence[:-i]

   res = find_minimal(seq)

   print(seq, res)

#===============================

В данном коде обозначен генератор try_seq(), который получает на вход строку из первых 9 натуральных чисел.

В этом генераторе мы рекурсивно разбиваем строку на цифры и перебираем все возможные расстановки знаков (+, -, *нет знака*). Генератор позволяет получить все возможные комбинации без затрат на хранение самих последовательностей. На выходе из генератора получаем все возможные разбиения, которые теперь необходимо обработать.

Для обработки и выдачи минимального ряда используем функцию find_minimal(). В первую очередь нас интересуют те из них, которые в результате вычисления дают 100.

Пропускаем полученные значения через filter, сравнивая значения с 100. Оставшиеся значения сортируем по возрастанию количества разбивающих знаков в них.

Осталось только проверить подстроки от 123456789 до 1 на возможность существования ряда, дающего 100.

Для этого в цикле прогоняем подстроки через find_minimal().

Получаем, что ряд существует для 1234567, 12345678 и 123456789:

12345678 ('12+34-5+67-8', 4)

1234567 ('1+23+4+5+67', 4)

123456 None

12345 None

1234 None

123 None

12 None

1 None

Минимальная в данном случае: 1+23+4+5+67 для последовательности 1234567.

====================

Если ответ удовлетворил, не забудь отметить его как "Лучший".


Для ряда 123456789 существует вариант расстановки знаков + и -, такой чтобы результат арифметическог
Для ряда 123456789 существует вариант расстановки знаков + и -, такой чтобы результат арифметическог
4,6(20 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ