[P] 소수 판별 함수 및 응용

Go~ USA·2024년 4월 1일
0

Python

목록 보기
5/15

★[학습목표]
입력받은 수가 소수인지 판별하는 함수를 작성하고, 이를 이용한 code를 작성할 수 있다.

  • 문제1) 입력받은 숫자가 소수인지 아닌지 판별하는 code 를 작성하시오.
def is_prime_number(num):
  if num == 1:                    # 입력받은 수가 1인면 False
    return False

  i = 2
  while i < num:
    if num % i == 0:              # 입력받은 수가 2부터 순차적으로 나누어 0이 나올경우 False
      return False
    i += 1
    
  return True                     # 자기자신보다 작은 수로 나누어 0이 없으면  True 

is_prime_number(3)

  • 문제2) 이 함수를 기반으로 입력받은 숫자가 20이라고 할때 1부터 20 사이에 존재하는 모든 소수를 출력하는 함수 구현
> def is_prime_number(num):

def print_1_to_n_prime_numbers(n):        # 입력 받아 출력하는 함수를 정의         
  i=1
  while i<=n:
    if is_prime_number(i):
      print("{}".format(i))
    i+=1

print_1_to_n_prime_numbers(20)            #20을 입력하여 소수를 출력하는 함수를 호출

  • 문제3) 이 함수를 기반으로 입력받은 숫자가 20이라고 할때 1부터 20 사이에 존재하는 모든 소수의 갯수를 출력하는 함수 구현
> def is_prime_number(num):

def print_num_1_to_n_prime_numbers(n):    # 임의의 숫자를 입력받아 소수 갯수 출력함수 정의 
  count=0
  k=1
  while k<=n:
      if is_prime_number(k):
        count+=1                          # 소수 검출기를 활용하여 검출시 마다 count
      k+=1
  print("1~{}까지 소수의 갯수는 {}".format(n,count))
  
print_num_1_to_n_prime_numbers(20) 

  • 문제4) 이 함수를 기반으로 입력받은 숫자가 20이라고 할때 1부터 20 사이에 존재하는 모든 소수의 합을 출력하는 함수 구현
count=0
k=1
> def is_prime_number(num):

def print_sum_of_prime_numbers(num):   # 임의의 숫자를 입력받아 소수의 합 출력함수 정의  
  count=0
  k=0
  while k<=num:
    if is_prime_number(k):
      count+=k
    k+=1
  print("1~{}까지 소수의 합은 {}".format(num,count))

print_sum_of_prime_numbers(20)

0개의 댓글

관련 채용 정보