Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 8, 2018 14:34:23

boxerwba
Зарегистрирован: 2018-09-08
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Решето Эратосфена

Помогите реализовать функцию.
Создать функцию, которая принимает два параметра - два числа, и возвращает массив простых чисел в этом отрезке или выдает ошибку “NoSimpleDigits”, когда таковых нет.
Спасибо за помощь

Офлайн

#2 Сен. 8, 2018 16:39:35

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

Решето Эратосфена

 >>> def primes(x,y):
	l = [True]*y
	for i in range(2,y):
		if not l[i]: continue
		for j in range(i*2,y,i):
			l[j] = False
	out = [i for i in range(x,y) if l[i]]
	if out: return out
	raise Exception("NoSimpleDigits")
>>> primes(8,10)
Traceback (most recent call last):
  File "<pyshell#42>", line 1, in <module>
    primes(8,10)
  File "<pyshell#41>", line 9, in primes
    raise Exception("NoSimpleDigits")
Exception: NoSimpleDigits
>>> primes(8,20)
[11, 13, 17, 19]
>>> 

Офлайн

#3 Сен. 9, 2018 20:55:16

boxerwba
Зарегистрирован: 2018-09-08
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Решето Эратосфена

vic57
спасибо!!!

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version