Python-함수 여러개

박지원·2024년 6월 25일
# 문제3 : 1부터 n 사이의 수 중에서 소수의 개수 반환하는 함수 `get_1_to_n_prime_numbers_count` 를 구현해주세요.
def is_prime_number(num):
  if num == 1: # 1은 소수가 아니다.
    return False
  i = 2
  while i < num: # 2부터 num 까지의 수 중에서 num을 나누어 떨어지면 소수가 아니다.
    if num % i == 0:
      return False
    i += 1
  return True

#1부터 n 사이의 수 중에서 소수의 개수 반환하는 함수
def get_1_to_n_prime_numbers_count(n):
  count  = 0
  i = 1
  while i <= n:
    if is_prime_number(i):
      count +=1
    i += 1
  return count


number = 1000
count = get_1_to_n_prime_numbers_count(number)
print("1부터 {}사이에 존재하는 소수의 개수 : {}개\n".format(number, count))
  # 출력 => 1부터 1000사이에 존재하는 소수의 개수 : 168개

number = 2000
count = get_1_to_n_prime_numbers_count(number)
print("1부터 {}사이에 존재하는 소수의 개수 : {}개\n".format(number, count))
  # 출력 => 1부터 2000사이에 존재하는 소수의 개수 : 303개
# 문제4 : 1부터 n 사이의 수 중에서 소수의 합을 반환하는 함수 `get_1_to_n_prime_numbers_sum` 를 구현해주세요.
def is_prime_number(num):
  if num == 1: # 1은 소수가 아니다.
    return False
  i = 2
  while i < num: # 2부터 num 까지의 수 중에서 num을 나누어 떨어지면 소수가 아니다.
    if num % i == 0:
      return False
    i += 1
  return True

# 1부터 n 사이의 수 중에서 소수의 합 반환하는 함수
def get_1_to_n_prime_numbers_sum(n):
  sum = 0
  i = 1
  while i <= n:
    if is_prime_number(i):
      sum += i
    i += 1
  return sum
  

  return sum

sum = 0
number = 0

number = 1000
sum = get_1_to_n_prime_numbers_sum(number)
print("1부터 {}사이에 존재하는 소수의 합 : {}\n".format(number, sum))
  # 출력 => 1부터 1000사이에 존재하는 소수의 합 : 76127

number = 2000
sum = get_1_to_n_prime_numbers_sum(number)
print("1부터 {}사이에 존재하는 소수의 합 : {}\n".format(number, sum))
 # 출력 => 1부터 2000사이에 존재하는 소수의 합 : 277050
코드를 입력하세요

0개의 댓글