반응형
표준 입력으로 정수 두 개가 입력됩니다(첫 번째 입력 값의 범위는 10~1000, 두 번째 입력 값의 범위는 100~1000이며 첫 번째 입력 값은 두 번째 입력 값보다 항상 작습니다). 다음 소스 코드에서 첫 번째 정수부터 두 번째 정수 사이의 소수(prime number)를 생성하는 제너레이터를 만드세요. 소수는 1과 자기자신만으로 나누어 떨어지는 1보다 큰 양의 정수입니다.
문제
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
________________
________________
________________
________________
________________
________________
________________
________________
start, stop = map(int, input().split())
g = prime_number_generator(start, stop)
print(type(g))
for i in g:
print(i, end=' ')
|
cs |
입력
50 100
결과
<class 'generator'>
53 59 61 67 71 73 79 83 89 97
입력
950 1000
결과
<class 'generator'>
953 967 971 977 983 991 997
답
1
2
3
4
5
6
7
8
|
def prime_number_generator(start,stop):
for n in range(start,stop):
is_prime=True #소수 여부를 저장할 변수
for i in range(2,n-1):
if n%i==0:
is_prime=False
if is_prime==True:
yield n
|
cs |
반응형
'Python > 코딩도장' 카테고리의 다른 글
코딩도장_파이썬 심사문제 42.8 (HTML 태그 데코레이터 만들기) (0) | 2020.08.28 |
---|---|
코딩도장_파이썬 심사문제 41.7 (사칙연산 코루틴 만들기) (0) | 2020.08.25 |
코딩도장_파이썬 심사문제 39.7 (시간 이터레이터 만들기) (0) | 2020.08.24 |
코딩도장_파이썬 심사문제 38.7 (회문 아니면 예외 발생시키기) (0) | 2020.08.23 |
코딩도장_파이썬 심사문제 37.3 (두 점 사이의 거리 구하기) (0) | 2020.08.16 |
댓글