Лучшие помощники
- Megamozg 2205 б
- Matalya1 1800 б
- DevAdmin 1720 б
- arkasha_bortnikov 900 б
- Dwayne_Johnson 870 б
10 декабря 2022 13:20
3394
1)Рассматривается множество целых чисел, принадлежащих числовому отрезку [3394; 8599], которые удовлетворяют следующим условиям:− остаток от деления на 3 равен 1;
− остаток от деления на 7 равен 5.
Найдите наибольшее из таких чисел и их сумму. Гарантируется, что искомая сумма не превосходит 107.
2) Рассматривается множество целых чисел, принадлежащих числовому отрезку [3712; 8432], которые удовлетворяют следующим условиям:
− запись в двоичной и четверичной системах счисления заканчивается одинаковой цифрой;
− кратны, по крайней мере, одному из чисел: 13, 14 или 15.
Найдите количество таких чисел и минимальное из них.
3)Рассматривается множество целых чисел, принадлежащих числовому отрезку [3439; 7410], которые удовлетворяют следующим условиям:
− запись в двоичной и шестеричной системах счисления заканчивается разными цифрами;
− кратны, по крайней мере, одному из чисел: 9, 10 или 11.
Найдите количество таких чисел и максимальное из них.
1
ответ
Программа:
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'Максимальное число: \nСумма чисел: ')
№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'Таких чисел: \nМинимальное число: ')
№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'Таких чисел: \nМаксимальное число: ')
Объяснение:
Код №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
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'Максимальное число: \nСумма чисел: ')
№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'Таких чисел: \nМинимальное число: ')
№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'Таких чисел: \nМаксимальное число: ')
Объяснение:
Код №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
0
·
Хороший ответ
12 декабря 2022 13:20
Остались вопросы?
Еще вопросы по категории Информатика
Приведите примеры: а) образной информационной модели б) знаковой информационной модели в) смешанной информациооной модели...
помогите пожалуйста с тестом!!!!!!)) 1 что относится к средствам мультимедиа: а) звук, текст, графика, изображения. б) звук, колонки, графика. в) аним...
Даю 500балло срочно!! Документ (файл) Excel это: Выберите один ответ: таблица лист Excel рабочая книга Очистить мой выбор Вопрос 16 Пока нет от...
Сколько школьных учебников емкостью 350 кб можно разместить на трехдюймовой дискете...
6. Дано натуральное трёхзначное число. Напишите программу, которая определяет: На языке Python ...