На прошлой неделе на уроке информатики Витя научился писать программу, определяющую, является данное натуральное число простым или нет. Алгоритм проверки на простоту так ему понравился, что с тех пор он везде пытается его применить. Сегодня Витя решил узнать, а сколько чисел от 1 до 2019 (включительно) таковы, что сумма их цифр является простым числом? Найдите и вы ответ на вопрос Вити. Одним из таких чисел является число 16, сумма его цифр равна 7, это простое число. Комментарий. У простого числа есть ровно два различных делителя – единица и само это число.
Для решения этой задачи нам понадобится написанный Витей алгоритм проверки числа на простоту. Необходимо перебрать все числа от 1 до 2019, сумма цифр которых является простым числом.
Вот как можно выполнить эту задачу на Python:
def is_prime(num): if num < 2: return False for i in range(2, int(num**0.5) + 1): if num % i == 0: return False return True def sum_of_digits(num): return sum(int(digit) for digit in str(num)) count = 0 for i in range(1, 2020): if is_prime(sum_of_digits(i)): count += 1 print(count)
Запустив этот код, мы получим ответ на вопрос Вити: 470 чисел от 1 до 2019 имеют сумму цифр, являющуюся простым числом.
Для решения этой задачи нам понадобится написанный Витей алгоритм проверки числа на простоту. Необходимо перебрать все числа от 1 до 2019, сумма цифр которых является простым числом.
Вот как можно выполнить эту задачу на Python:
def is_prime(num):if num < 2:
return False
for i in range(2, int(num**0.5) + 1):
if num % i == 0:
return False
return True
def sum_of_digits(num):
return sum(int(digit) for digit in str(num))
count = 0
for i in range(1, 2020):
if is_prime(sum_of_digits(i)):
count += 1
print(count)
Запустив этот код, мы получим ответ на вопрос Вити: 470 чисел от 1 до 2019 имеют сумму цифр, являющуюся простым числом.