Тема 25. Обработка целочисленной информации
25.04 Прочие прототипы
Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела обработка целочисленной информации
Решаем задачи

Ошибка.
Попробуйте повторить позже

Задача 1#63210

Найдите все натуральные числа N, принадлежащие отрезку [100000000;300000000], которые можно представить в виде N = 3m ∗ 5n  , где m — чётное число, n — нечётное число. В ответе запишите все найденные числа в порядке возрастания через пробел.

Показать ответ и решение
for m in range(0, 51, 2):  # Перебираем степени числа 3
    for n in range(1, 52, 2):  # Перебираем степени числа 5
        N = (3 ** m) * (5 ** n)  # Составляем число
        if 100000000 <= N <= 300000000:  # Проверяем, попадает ли оно в отрезок
            print(N, end=’ ’)

Ответ: 158203125 184528125 215233605

Ошибка.
Попробуйте повторить позже

Задача 2#61229

Уникальным назовём число, если у него первая цифра нечётная, а вторая четная. Для интервала [12340;23450] найдите уникальные числа, которые делятся на 5, 17 и 19. В качестве ответа приведите найденные числа в порядке возрастания через пробел.

Показать ответ и решение
ch = ’02468’
nch = ’13579’

for i in range(12340, 23451):
    s = str(i)
    if s[0] in nch \
        and s[1] in ch \
        and i % 5 == 0 \
        and i % 17 == 0 \
        and i % 19 == 0:
        print(i)

Ответ: 12920 14535 16150

Ошибка.
Попробуйте повторить позже

Задача 3#61001

Среди целых чисел, принадлежащих числовому отрезку [1686; 13276], найдите числа, все цифры которых нечетные. Ответом будет сумма цифр найденных чисел.

Показать ответ и решение
sm = 0 # Общая сумма цифр
for i in range(1686, 13277):
    a = i
    nsm = 0 # Сумма цифр числа
    f = 0 # Флаг, указывающий на наличие чётных цифр
    # Проверяем каждый разряд числа
    while a > 0:
        if (a % 10) % 2 == 1:
            nsm += a % 10
        else:
            f = 1
            break
        a = a // 10
    # Если чётных цифр не нашлось — прибавляем сумму
    if f == 0:
        sm += nsm
print(sm)

Ответ: 13950

Ошибка.
Попробуйте повторить позже

Задача 4#60999

На отрезке [100000; 300000] найдите минимальное и максимальное число, которое делится на 13 и не делится на 71. В ответе запишите два этих числа в порядке возрастания через пробел.

Показать ответ и решение
# Ищем мин. число
for i in range(100000, 300001):
    if i % 13 == 0 and i % 71 != 0:
        print(i)
        break

# Ищем макс. число
for i in range(300000, 99999, -1):
    if i % 13 == 0 and i % 71 != 0:
        print(i)
        break

Ответ: 100009 299988

Ошибка.
Попробуйте повторить позже

Задача 5#60995

Среди целых чисел, принадлежащих числовому отрезку [1000; 15000], найдите числа, которые не содержат цифру 5, если записать их в системе счисления с основанием 14. Ответом будет максимальное среди найденных чисел в десятичной системе счисления.

Показать ответ и решение
def f(n):
    a = x
    while a > 0:
        if a % 14 == 5:
            return 1
        a = a // 14
    return 0

for x in range(1000, 15001):
    if f(x) == 0:
        print(x)

Ответ: 13719

Ошибка.
Попробуйте повторить позже

Задача 6#60993

Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [21100; 28502], числа, кратные числам 71 и 17 и не кратные числам 13 и 31 одновременно. Найденные числа запишите в порядке возрастания через пробел.

Показать ответ и решение
n = set()
for x in range(21100, 28503):
    if x % 17 == 0 and x % 71 == 0 and x % 13 != 0 and x % 31 != 0:
        n.add(x)
print(sorted(n))

Ответ: 21726 22933 24140 25347 26554 27761

Ошибка.
Попробуйте повторить позже

Задача 7#57291

Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [60312;62831]  , количество чисел, в которых сумма цифр делится на 3 без остатка.

В ответ запишите количество таких чисел.

Показать ответ и решение
def sum_of_digits(x):#функция,возвращающая сумму цифр в числе
    s = 0
    while x > 0:
        s += x % 10
        x//= 10
    return s
count = 0
for x in range(60312,62831+1):
    if sum_of_digits(x) % 3 == 0:
        count += 1
print(count)

Ответ: 840

Ошибка.
Попробуйте повторить позже

Задача 8#51951

Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [28585; 28800], количество чисел, в которых цифра, стоящая в разряде десятков, равна 8.

В ответ запишите количество таких чисел.

Показать ответ и решение
counter = 0
for i in range(28585, 28800 + 1):
    if (i // 10) % 10 == 8:
        counter += 1
print(counter)

Ответ: 25
Рулетка
Вы можете получить скидку в рулетке!