지난 번에 소수 판별 함수를 작성해 본 적이 있습니다. 어떤 자연수 N이 소수이면 True값을, 소수가 아니면 False값을
return하는 함수입니다.
2019/08/05 - [파이썬 + 수학] - [파이썬 수학] 소수(prime number) 판별
이번에는 지난 번에 만든 판별 함수를 호출하여, 어떤 자연수 N보다 작은 소수들로 이루어지는 리스트를 return하는 함수를 만들어 보겠습니다.
def prime_number(number): # number를 입력 받아 소수인지 아닌지 구분하는 함수
# number가 1이 아니면, (1은 소수가 아님)
if number != 1:
# 2, 3, 4, ..., (number - 1)까지의 인수에 대해서
for f in range(2, number):
# number가 위의 인수 중의 하나로 나누어지면, (나머지가 0이면)
if number % f == 0:
return False # 소수가 아님
else: # number가 1이라면,
return False # 소수가 아님
# number가 1이 아니면서, 2부터 (number - 1)까지의 수로 나눠지지 않으므로
# 소수로 판별됨 (소수는 1과 자신만을 인수로 갖는 수)
return True
input_integer = int(input("자연수 N을 입력해 주세요: "))
integer_list = (x for x in range(2, input_integer + 1))
prime_numbers = []
for num in integer_list:
if prime_number(num):
prime_numbers.append(num)
print(prime_numbers)
프로그램을 실행하고, 키보드를 통해 자연수 27을 입력하면 다음과 같이 소수들로 이루어지는 리스트를 반환합니다.
자연수 N을 입력해 주세요: 27
[2, 3, 5, 7, 11, 13, 17, 19, 23]
'파이썬 수학' 카테고리의 다른 글
[파이썬 수학] 원 그리기 ③ - matplotlib 활용 (0) | 2019.08.06 |
---|---|
[파이썬 수학] 원 그리기 ② -터틀: Turtle (0) | 2019.08.06 |
[파이썬 수학] 소수(prime number) 판별 (0) | 2019.08.05 |
[파이썬 수학] 피보나치 수열 (Fibonacci numbers) (0) | 2019.08.05 |
[수학 코딩] 파이썬으로 원주율(π) 구하기 (0) | 2019.08.05 |
댓글