ЯЗЫК ПИТОН! Суперчисла
Суперчислом называется число, являющееся суммой двух простых чисел из диапазона [2…B]. Требуется найти все суперчисла из заданного диапазона [A…B].
Ввод
3 10
Вывод
4
5
6
7
8
9
10

podlubnijp08ieo podlubnijp08ieo    3   08.06.2020 22:33    29

Ответы
ksdkjxddjcksmsfmkf ksdkjxddjcksmsfmkf  15.10.2020 13:30

Код ниже есть в файле source.txt, который следует переименовать в source.py

# coding=utf-8

import math

data=input("Введите целочисленные A и B через пробел: ").split(' ')# К примеру "3 10"

""" Преобразуем ввод в числа:

"""

(A, B)=(int(data[0]), int(data[1]))

assert B > 2, "B должно быть больше двух."

''' $primes, list - список всех простых чисел в диапазоне [2 .. B].

'''

primes=list()

for integer in range(2, B + 1):

if (math.factorial(integer - 1 ) % integer) == (integer - 1):

 

 """ Данное число простое.

  Добавляем в список:

 """

 primes.append(integer)

""" Складываем все простые числа между собой, но только если сумма меньше или равна B.

После методом set сортируем и удаляем неуникальные значения.

"""

result=set([digit1 + digit2 for digit1 in primes for digit2 in primes if digit1 + digit2 in range(A, B + 1)])

print(result)

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика