Предмет: Информатика, автор: SurvMix

1)Рассматривается множество целых чисел, принадлежащих числовому отрезку [3394; 8599], которые удовлетворяют следующим условиям:
− остаток от деления на 3 равен 1;
− остаток от деления на 7 равен 5.
Найдите наибольшее из таких чисел и их сумму. Гарантируется, что искомая сумма не превосходит 107.
2) Рассматривается множество целых чисел, принадлежащих числовому отрезку [3712; 8432], которые удовлетворяют следующим условиям:
− запись в двоичной и четверичной системах счисления заканчивается одинаковой цифрой;
− кратны, по крайней мере, одному из чисел: 13, 14 или 15.
Найдите количество таких чисел и минимальное из них.
3)Рассматривается множество целых чисел, принадлежащих числовому отрезку [3439; 7410], которые удовлетворяют следующим условиям:
− запись в двоичной и шестеричной системах счисления заканчивается разными цифрами;
− кратны, по крайней мере, одному из чисел: 9, 10 или 11.
Найдите количество таких чисел и максимальное из них. ​

Ответы

Автор ответа: vimmortal2
0

Программа:

Python:

№1)

max = summ = 0

for i in range(3394, 8599 + 1):

  if i % 3 == 1 and i % 7 == 5:

     max = i

     summ += i

print(f'Максимальное число: {max}\nСумма чисел: {summ}')

№2)

def translate(num, base):

  out = ""

  while num > 0:

     out = str(num % base) + out

     num //= base

  return int(out)

if __name__ == '__main__':

  count, minimum, can = 0, 0, True

  for i in range(3712, 8432 + 1):

     if (translate(i, 2) % 10) == (translate(i, 4) % 10):

        if i % 13 == 0 or i % 14 == 0 or i % 15 == 0:

           count += 1

           if can:

              minimum = i

              can = False

print(f'Таких чисел: {count}\nМинимальное число: {minimum}')

№3)

def translate(num, base):

  out = ""

  while num > 0:

     out = str(num % base) + out

     num //= base

  return int(out)

if __name__ == "__main__":

  count, maximum = 0, 0

  for i in range(3439, 7410 + 1):

     if not (translate(i, 2) % 10) == (translate(i, 6) % 10):

        if i % 9 == 0 or i % 10 == 0 or i % 11 == 0:

           count += 1

           maximum = i

print(f'Таких чисел: {count}\nМаксимальное число: {maximum}')

Объяснение:

Код №1: регистрируем переменные max и summ, которые равны нулю. С помощью цикла for проходимся по всем числам от 3394 до 8599 (включительно) с шагом 1. Если остаток деления на 3 равен единице и если остаток деления на 7 равен пяти, то присваиваем переменной max значение текущего числа (таким способом число всегда получит текущее число, соответственно и максимальное). Также к значению переменной summ добавится значение i. В конце - вывод необходимых чисел.

Код №2: регистрируем функцию translate, которая будет переводить числа в различные системы счисления (от 2 до 9 включительно, но этих рамок хватает). С помощью условия if __name__ == "__main__" выполняем основной код. Регистрируем переменные для будущего использования, с помощью цикла проходимся по всем целым числам от 3712 до 8432 (включительно). Теперь по условию делаем две проверки: если при переводе в 2-ю СС остаток деления на 10 (это же и последнее число) равен остатку деления на 10 переведённого числа в 4-й СС (это же и последнее число), то увеличиваем значение count на единицу. И находим минимальное число путём введения новой переменной can: в начале мы записали True, но если изменится на False, то минимальному числу присвоится текущее значение i, переменная can стаёт False. В конце - вывод значений, необходимых по условию.

Код №3: код максимально похож на код №2, но теперь условие "запись в 2-й и 6-й СС заканчивается одним и тем же числом" имеет not (соответственно, отрицаем их равность), изменили основание СС для перевода (4 заменили на 6); заменили второе условие - равность хотя бы на 9, 10 или 11. Теперь переменная can не нужна, а максимальное число находится таким же путём, как и в коде №1. В конце - вывод согласно условию.

Результат:

Код №1:

Максимальное число: 8587

Сумма чисел: 1486388

Код №2:

Таких чисел: 471

Минимальное число: 3720

Код №3:

Таких чисел: 683

Максимальное число: 7407

Похожие вопросы
Предмет: Другие предметы, автор: едик5