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

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

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