В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История

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

Показать ответ
Ответ:
dimysisdimysis
dimysisdimysis
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)

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота