# Print the nth fibonacci term using recursion.
def fibonacci(n):
"""
returns the nth value of the fibonacci series
"""
assert int(n) == n and n >= 0, "The number must belong to the set of whole numbers"
if n in (0, 1):
return n
else:
return fibonacci(n - 1) + fibonacci(n - 2)
fibonacci(6)
8
# Find the factorial of a number using recursion.
def factorial(number):
"""
Calculates the factorial of a number using recursion.
"""
assert int(number) == number and number >= 0, "The number must be a whole number"
if number in (0, 1):
return 1
else:
return number * factorial(number - 1)
factorial(5)
120
# Perform binary search using recursion.
def binarySearch(array, low, high, target):
"""
Performs a binary search operation in the given array.
"""
mid = int((low + high) / 2)
if array[mid] == target:
return f"Element found at position {mid}"
elif array[mid] > target:
high = mid - 1
return binarySearch(array, low, high, target)
elif array[mid] < target:
low = mid + 1
return binarySearch(array, low, high, target)
else:
return "Element not found"
# Driver Code
if __name__ == "__main__":
arr = [2, 3, 4, 5, 6, 7]
low = 0
high = len(arr) - 1
target = 5
print(binarySearch(arr, low, high, target))
Element found at position 3
# Find the sum of digits using recursion
def number_sum(number):
"""
finds the sum of all the elements of the number.
"""
assert int(number) == number, "Must be an integer"
if number == 0:
return 0
else:
return number%10 + number_sum(number//10)
number_sum(121)
4
# Find the power of a number using recursion
def power(number, exponent):
"""
calculates the positive power of a number.
"""
if exponent == 0:
return 1
else:
return number * power(number, exponent - 1)
power(5, 3)
125
# Find the GCD of two numbers using recursion
def gcd(num_1, num_2):
"""
calculated the gcd of two numbers
"""
if num_1 == num_2:
return num_1
elif num_1 > num_2:
num_1 -= num_2
return gcd(num_1, num_2)
else:
num_2 -= num_1
return gcd(num_1, num_2)
gcd(50, 25)
25
# Convert a number into binary format using recursion
def binary(number):
"""
converts a number into binary format
"""
assert int(number) == number, "The number must be an integer"
if number == 0:
return number
else:
return number%2 + 10*binary(number//2)
binary(4)
100