재귀 기법을 사용하여 두 수의 곱을 구해야 할 때 단순 if 조건과 재귀를 사용합니다.
재귀는 더 큰 문제의 작은 비트의 출력을 계산하고 이러한 비트를 결합하여 더 큰 문제에 대한 솔루션을 제공합니다.
예시
아래는 동일한 데모입니다 -
def compute_product(val_1,val_2): if(val_1<val_2): return compute_product(val_2,val_1) elif(val_2!=0): return(val_1+compute_product(val_1,val_2-1)) else: return 0 val_1 = int(input("Enter the first number... ")) val_2 = int(input("Enter the second number... ")) print("The computed product is: ") print(compute_product(val_1,val_2))
출력
Enter the first number... 112 Enter the second number... 3 The computed product is: 336
설명
- 두 개의 숫자 값을 매개변수로 사용하는 'compute_product'라는 메서드가 정의되어 있습니다.
- 첫 번째 값이 두 번째 값보다 작으면 이 매개변수를 바꿔서 함수를 다시 호출합니다.
- 두 번째 값이 0이면 첫 번째 값을 전달하고 두 번째 값에서 '1'을 빼고 함수의 결과에 첫 번째 값을 더하여 함수를 호출합니다.
- 그렇지 않으면 함수는 0을 반환합니다.
- 함수 외부에서 사용자가 두 개의 숫자 값을 입력합니다.
- 이 두 값을 전달하여 메서드를 호출합니다.
- 출력은 콘솔에 표시됩니다.