Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

재귀 함수를 활용해 숫자의 짝수·홀수 여부를 판별하는 파이썬 프로그램

입력된 숫자가 짝수인지 홀수인지 확인해야 할 때 재귀(recursion)를 활용할 수 있습니다. 재귀는 큰 문제를 작은 단위로 나누어 각 부분의 결과를 계산한 뒤, 이를 결합해 전체 문제의 해답을 도출하는 방식입니다.

예제 코드

아래는 재귀 함수로 홀수와 짝수를 판별하는 파이썬 코드 예제입니다.

def check_odd_even(my_num):
   if (my_num < 2):
      return (my_num % 2 == 0)
   return (check_odd_even(my_num - 2))
my_number = int(input("확인할 숫자를 입력하세요:"))
if(check_odd_even(my_number)==True):
   print("짝수입니다")
else:
   print("홀수입니다!")

실행 결과

확인할 숫자를 입력하세요:48
짝수입니다

코드 설명

  • 'check_odd_even'이라는 이름의 함수가 정의되며, 하나의 숫자를 매개변수로 받습니다.
  • 숫자가 2보다 작으면 해당 수를 2로 나눈 나머지를 계산해 0과 비교합니다. 나머지가 0이면 짝수라는 의미입니다.
  • 숫자가 2 이상이면 함수가 자기 자신을 다시 호출하며, 이때 전달되는 값은 원래 숫자에서 2를 뺀 값입니다.
  • 함수 외부에서는 사용자로부터 숫자를 입력받습니다.
  • 함수를 호출한 결과가 'True'인지 확인하고, 참이면 짝수로 판별합니다.
  • 그렇지 않으면 홀수로 간주합니다.
  • 최종 결과가 화면에 출력됩니다.

재귀 방식의 동작 원리

이 코드는 숫자에서 2를 반복적으로 빼며 기저 조건(base case)인 2 미만까지 내려갑니다. 2씩 빼더라도 숫자의 홀짝 성질은 변하지 않으므로, 마지막에 남은 0 또는 1만 검사하면 원래 숫자가 짝수인지 홀수인지 알 수 있습니다. 다만 파이썬에는 재귀 호출 깊이 제한(기본값 약 1,000회)이 있으므로, 매우 큰 숫자를 입력할 경우 오류가 발생할 수 있다는 점에 유의해야 합니다.