Задание 5. Информатика. ЕГЭ. Поляков-7763
- Просмотры: 107
- Изменено: 21 февраля 2025
(О. Лысенков) На вход алгоритма подается целое неотрицательное число \(N.\) Алгоритм строит по нему новое число \(R\) по следующим образом:
- Число \(N\) переводится в систему счисления с основанием \(30.\)
- Вычисляет сумма значений цифр данного числа в \(30\)-ричной системе счисления.
- Число \(R\) определяется как полученная сумма, умноженная на значение последней десятичной цифры числа \(N.\)
Найдите количество чисел \(N,\) меньших \(1000,\) для которых соответствующее значение \(R\) — не простое число.
Решение:
Python
def is_prime(x):
if x in (0, 1):
return False
if x in (2, 3):
return True
for d in range(2, int(x**0.5) + 1):
if x % d == 0:
return False
return True
def R(N):
if N == 0:
return 0
alph = '0123456789ABCDEFGHIJKLNMOPQRSTUVWXYZ'
ans = ''
last_dig = N % 10
while N:
ans = alph[N % 30] + ans
N //= 30
return sum(int(x, 30) for x in ans) * last_dig
print(sum(not is_prime(R(x)) for x in range(10**3)))
Ответ: \(970\)