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

На досуге вы любите почитать сборники занимательных по . недавно вы наткнулись в одном из таких сборников на следующую : есть бесконечный резервуар с водой и два пустых сосуда объёмом 5 и 12 литров. можно наливать воду из резервуара в любой сосуд до его заполнения, переливать воду из —одного сосуда в другой до заполнения второго или опустошения первого (смотря что будет раньше) и выливать воду из сосуда на землю до полного опустошения сосуда. как таким образом можно отмерить 3 литра? вы решили написать программу, которая будет решать подобные для произвольных объёмов сосудов. входные данные во входном файле находятся три целых числа — v1, v2 и v — объёмы двух сосудов и объем воды, который нужно отмерить. гарантируется, что 1v1v232767 и 0vmax(v1v2). выходные данные в первую строку выходного файла выведите одно число — количество действий в вашем решении. далее выведите соответствующее количество строк, описывающих действия в вашем решении. для каждого действия выведите два числа: если это действие — переливание из одного сосуда в другой, то первое число должно быть номером сосуда, откуда надо переливать воду, а второе — номером сосуда, куда переливать; если это действие — набор воды из резервуара, то первое число должно быть нулём, а второе — номером сосуда, куда наливать; если это действие — выливание воды “на землю”, то первое число должно быть номером сосуда, а второе — нулём. после выполнения всех операций хотя бы в одном сосуде должна находиться вода в объёме v. если существует несколько решений, то вы можете вывести любое. ваше решение не обязано быть оптимальным, единственное ограничение — размер выходного файла не должен превосходить 3 мб. если решений не существует, выведите одно число -1.

Показать ответ
Ответ:
lGeneralll
lGeneralll
07.02.2022 15:55

Ну начнем с того, что твоя функция ничего не возвращает, она выводит на экран информацию. Второй косяк в том, что функция isdigit() проверяет всю строку, то есть, при строке с одними цифрами твоя программа даст верный ответ.

Исправить максимально просто, нам нужно проверить каждый символ строки, если встречаем хоть 1 цифру, то возвращаем true, а если не встретим в строке цифр - false.

Максимально простой вариант для новичка, скорее всего, такой:

def number(x):

  for i in x:

      if i.isdigit():

          return True

  return False

print(number('xx'))

0,0(0 оценок)
Ответ:
jessicagallagher
jessicagallagher
17.09.2020 08:44

34

Объяснение:

Число X даёт остаток 1 при делении на 3, остаток 0 при делении на 2 и остаток 4 при делении на 5, значит, исходное число можно представить как X = 3a + 1 = 2b = 5c + 4 (числа a, b, c — натуральные или 0).

Рассмотрим равенство 2b = 5c + 4. Число 5c + 4 — чётное, значит, c также чётное (в противном случае мы получим произведение нечётных чисел, т. е. число нечётное, плюс чётное число — результат нечётный).

Рассмотрим равенство 5c + 4 = 3a + 1 ⇔ 5c = 3a - 3 = 3(a - 1) ⇒ число c делится на 3, но также c делится на 2 по равенству, значит, c делится на 6.

Сделаем последовательный перебор чисел c:

Если c = 0, то 5c + 4 = 4 < 10 — число не двузначное.Если c = 6, то 5c + 4 = 34. Действительно, 34 = 3·11 + 1 = 2·17 = 5·6 + 4

Значит, 34 — наименьшее искомое двузначное число.

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