25.05 Прочие прототипы
Готовиться с нами - ЛЕГКО!
Ошибка.
Попробуйте повторить позже
Найдите все натуральные числа, N, принадлежащие отрезку [12000000; 1000000000], которые можно представить в виде
, где m – нечётное число, n — число, кратное 5. В ответе запишите все найденные числа в порядке убывания,
а справа от каждого числа — сумму всех его нетривиальных делителей.
def count_del(x): sm = [] for i in range(2, int(x**0.5)+1): if x % i == 0: sm += [i] if i != x // i: sm += [x//i] return sum(sm) ans = [] for i in range(1, 100, 2): for j in range(0, 100, 5): n = 3**i*7**j if 12000000 <= n <= 1000000000: ans.append([n, count_del(n)]) ans = sorted(ans, reverse = True) for i in range(len(ans)): print(*ans[i])
Ошибка.
Попробуйте повторить позже
Тимофей любит число и все числа кратные
Вопрос — где первое вхождение кратного в последовательности
? Если
последовательность не содержит кратных
, в ответе вместо этого запишите
.
Решение на Python
k = 999983 ans = -1 s = 7 for i in range(10 ** 6): if s % k == 0: ans = i + 1 break s = s * 10 + 7 print(ans)
Ошибка.
Попробуйте повторить позже
Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [28585; 28800], количество чисел, в которых цифра, стоящая в разряде десятков, равна 8.
В ответ запишите количество таких чисел.
counter = 0 for i in range(28585, 28800 + 1): if (i // 10) % 10 == 8: counter += 1 print(counter)
Ошибка.
Попробуйте повторить позже
Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [467693; 467740], числа, кратные сумме цифр самого числа. Каждое найденное число запишите через пробел.
for x in range(467693, 467740 + 1): s = x sm = 0 while s > 0: # Цикл, в котором считается сумма цифр числа sm += s % 10 s = s // 10 if x % sm == 0: print(x, end=" ")
Ошибка.
Попробуйте повторить позже
Среди целых чисел, принадлежащих числовому отрезку [2031; 14312], найдите числа, которые не содержат цифру 2, если записать их в системе счисления с основанием 11. Ответом будет максимум среди найденных чисел.
def count_11(number): # функция, которая проверяет есть ли 2 в 11-ричной записи числа x = number while x > 0: if x % 11 == 2: return False x //= 11 return True for i in reversed(range(2031, 14313)): if count_11(i): print(i) break
Ошибка.
Попробуйте повторить позже
Назовем натуральное число подходящим, если его сумма цифр, в сравнении с суммой цифр других натуральных чисел, минимальна.
Например, среди чисел 50, 5, 23, 32, сумма цифр которых равна 5, подходящим будет являться число 5.
Найдите количество подходящих чисел, кратных , на отрезке
Для начала поймем, какие числа являются подходящими и кратными :
def num(x): summ = 0 while x > 0: summ += x % 10 x //= 10 return summ a = set() for i in range(1, 6999999999+1): t = num(i) if not t in a: if i % 3 == 0: print(i, t) a.add(t)
Данный код будет печатать числа , а затем те числа, которые начинаются с
,
или
, а остальная часть
которых будет целиком состоять из
.
Предлагается написать код-генератор для подобных чисел:
ans = [3, 6, 9] nums = ’369’ x = ’9’ for i in range(9): for digit in nums: result = int(digit + x) if result <= 6999999999: ans.append(result) x += ’9’ print(len(ans))
Ошибка.
Попробуйте повторить позже
Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку , количество
чисел, в которых сумма цифр делится на 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)
Ошибка.
Попробуйте повторить позже
Рассматривается множество целых чисел, принадлежащих числовому отрезку [54704; 589357], которые делятся на 3 и обязательно имеют в своей записи цифры 1 и 9.
Найдите количество таких чисел и минимальное из них.
Для выполнения этого задания можно написать программу или воспользоваться редактором электронных таблиц.
counter=0 minim=100000000000 for i in range(54704, 589357 + 1): if i%3==0: i = str(i) if i.count(’1’)>0 and i.count(’9’)>0: counter+=1 minim=min(minim,int(i)) print(counter, minim)
Ошибка.
Попробуйте повторить позже
Рассматривается множество целых чисел, принадлежащих числовому отрезку [52742; 78287], которые делятся на 5 и обязательно имеют в своей записи цифры 4 и 7.
Найдите количество таких чисел и максимальное из них.
Для выполнения этого задания можно написать программу или воспользоваться редактором электронных таблиц.
Решение.
f=open(’17.txt’) counter=0 maxim=-100000000000 for i in range(52742, 78287 + 1): if i%5==0: i = str(i) if i.count(’4’)>0 and i.count(’7’)>0: counter+=1 maxim=max(maxim,int(i)) print(counter, maxim)
Ошибка.
Попробуйте повторить позже
Рассматривается множество целых чисел, принадлежащих числовому отрезку [22578; 124287210], которые делятся на 2023.
Найдите количество таких чисел.
Для выполнения этого задания можно написать программу или воспользоваться редактором электронных таблиц.
ans = 0 for i in range(22578, 124287210 + 1): if i % 2023 == 0: ans += 1 print(ans)
Ошибка.
Попробуйте повторить позже
Рассматривается множество целых чисел, принадлежащих числовому отрезку [34740; 43879], которые удовлетворяют следующим условиям:
— остаток от деления на 8 равен 6;
— остаток от деления на 3 не равен 0.
Найдите количество таких чисел и их сумму.
counter = 0 summa = 0 for i in range(34740, 43879 + 1): if i % 8 == 6 and (i % 3 == 2 or i % 3 == 1): counter += 1 summa += i print(counter, summa)
Ошибка.
Попробуйте повторить позже
Рассматривается множество целых чисел, принадлежащих числовому отрезку [34740; 43879], которые удовлетворяют следующим условиям:
— остаток от деления на 8 равен 6;
— остаток от деления на 3 не равен 0.
Найдите количество таких чисел и их сумму.
counter = 0 summa = 0 for i in range(34740, 43879 + 1): if i % 8 == 6 and (i % 3 == 2 or i % 3 == 1): counter += 1 summa += i print(counter, summa)
Ошибка.
Попробуйте повторить позже
Рассматривается множество целых чисел, принадлежащих числовому отрезку [3891; 8540], которые удовлетворяют следующим условиям:
— остаток от деления на 5 равен 3;
— остаток от деления на 4 не равен 0.
Найдите количество таких чисел и их сумму.
counter = 0 summa = 0 for i in range(3891, 8540 + 1): if i % 5 == 3 and (i % 4 == 1 or i % 4 == 2 or i % 4 == 3): counter += 1 summa += i print(counter, summa)
Ошибка.
Попробуйте повторить позже
Рассматривается множество целых чисел, принадлежащих числовому отрезку [5874; 8912], которые удовлетворяют следующим условиям:
— запись в двоичной и четверичной системах счисления заканчивается одинаковой цифрой;
— кратны, по крайней мере, одному из чисел: 13 или 17.
Найдите количество таких чисел и минимальное из них.
counter, minim = 0, 10 ** 10 for i in range(5874, 8912 + 1): if i % 2 == i % 4 and (i % 13 == 0 or i % 17 == 0): counter += 1 minim = min(minim, i) print(counter, minim)
Ошибка.
Попробуйте повторить позже
Рассматривается множество целых чисел, принадлежащих числовому отрезку [51354; 82394], которые удовлетворяют следующим условиям:
— цифра в разряде десятков не превышает ;
— цифра в разряде сотен принадлежит отрезку [;
].
Найдите количество таких чисел и минимальное из них.
counter = 0 minim = 100000000000 for s in range(51354, 82394 + 1): k = str(s) if int(k[-2]) <= 4 and int(k[-3]) in [2, 3, 4, 5]: counter += 1 minim = min(minim, s) print(counter, minim)
Ошибка.
Попробуйте повторить позже
Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [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))
Ошибка.
Попробуйте повторить позже
Среди целых чисел, принадлежащих числовому отрезку [1000; 15000], найдите числа, которые не содержат цифру 5, если записать их в системе счисления с основанием 14. Ответом будет максимальное среди найденных чисел в десятичной системе счисления.
def f(n): # функция, которая проверяет есть ли 5 в 14-ричной записи числа a = x while a > 0: if a % 14 == 5: return False a = a // 14 return True for x in range(1000, 15001): if f(x): print(x)
Ошибка.
Попробуйте повторить позже
На отрезке [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
Ошибка.
Попробуйте повторить позже
Среди целых чисел, принадлежащих числовому отрезку [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)
Ошибка.
Попробуйте повторить позже
Рассматривается множество целых чисел, принадлежащих числовому отрезку [94252; 144568], которые удовлетворяют следующим условиям:
— цифра в разряде десятков не превышает ;
— цифра в разряде сотен принадлежит отрезку [;
].
Найдите количество таких чисел и минимальное из них.
counter = 0 minim = 100000000000 for s in range(94252, 144568 + 1): k = str(s) if int(k[-2]) <= 4 and int(k[-3]) in [2, 3, 4, 5]: counter += 1 minim = min(minim, s) print(counter, minim)