Interested in programming and want to excel in it by choosing the short ways. Then, practicing with the available Java Program list is mandatory.
Recursion in Python:
When a function calls itself and loops until it reaches the intended end state, this is referred to as recursion. It is based on the mathematics idea of recursive definitions, which define elements in a set in terms of other members in the set.
Each recursive implementation contains a base case in which the desired state is reached, and a recursive case in which the desired state is not reached and the function enters another recursive phase.
On each step, the behavior in the recursive situation prior to the recursive function call, the internal self-call, is repeated. Recursive structures are beneficial when a larger problem (the base case) can be solved by solving repeated subproblems (the recursive case) that incrementally advance the program to the base case.
It behaves similarly to for and while loops, with the exception that recursion moves closer to the desired condition, whereas for loops run a defined number of times and while loops run until the condition is no longer met.
In other words, recursion is declarative because you specify the desired state, whereas for/while loops are iterative because you provide the number of repeats.
Examples:
Example1:
Input:
given number = 97
Output:
The given number 97 is prime number.
Example2:
Input:
given number = 139
Output:
The given number 139 is a prime number.
Program to Find if a Number is Prime or Not Prime Using Recursion in Python
Using recursion, the program takes a number and determines whether or not it is prime.
If a number is only divided by itself and one, it is said to be prime.
So we iterate from 2 to n-1, returning False if n is divisible by any of (2,3,4,…n-1).
In addition, we look for other factors or divisors of the number, and if the remainder is zero, we know the number has factors and is not prime.
Also, if j==n, then there is no number from (2,3,4,…n-1) that is divisible by n, implying that it is prime.
Below are the ways to Find if a Number is Prime or Not Prime using the recursive approach in Python:
1)Using Recursion(Static Input)
Approach:
- Give the number as static input and store it in a variable.
- Pass the number to a recursive function as an argument, and set the divisor count to NULL.
- The number’s divisors are then checked via recursion, and either True or False is returned.
- If the function returns true then it is a prime number.
- Else it is not a prime number.
- The exit of the program.
Below is the implementation:
def checkPrimeRecursion(numb, divisors=None): if divisors is None: divisors = numb - 1 while divisors >= 2: if numb % divisors == 0: # if we find the divisor then return false because it is not prime return False else: return checkPrimeRecursion(numb, divisors-1) else: # if we reach here return true because we did not find any # divisors of the given number return True # Give the number as static input and store it in a variable. given_numb = 97 # passing the given number as argument to the recursive function checkPrimeRecursion. # If the function returns true then it is a prime number. if(checkPrimeRecursion(given_numb)): print('The given number', given_numb, 'is a prime number.') # Else it is not a prime number. else: print('The given number', given_numb, 'is not a prime number.')
Output:
The given number 97 is prime number.
2)Using Recursion(User Input)
Approach:
- Give the number as user input using the int(input()) function and store it in a variable.
- Pass the number to a recursive function as an argument, and set the divisor count to NULL.
- The number’s divisors are then checked via recursion, and either True or False is returned.
- If the function returns true then it is a prime number.
- Else it is not a prime number.
- The exit of the program.
Below is the implementation:
def checkPrimeRecursion(numb, divisors=None): if divisors is None: divisors = numb - 1 while divisors >= 2: if numb % divisors == 0: # if we find the divisor then return false because it is not prime return False else: return checkPrimeRecursion(numb, divisors-1) else: # if we reach here return true because we did not find any # divisors of the given number return True # Give the number as user input using the int(input()) function and store it in a variable. given_numb = int(input('Enter some random number = ')) # passing the given number as argument to the recursive function checkPrimeRecursion. # If the function returns true then it is a prime number. if(checkPrimeRecursion(given_numb)): print('The given number', given_numb, 'is a prime number.') # Else it is not a prime number. else: print('The given number', given_numb, 'is not a prime number.')
Output:
Enter some random number = 139 The given number 139 is a prime number.
Related Programs:
- Python Program to Check Whether a String is a Palindrome or not Using Recursion
- Python Program to Find the Product of two Numbers Using Recursion
- Python Program to Find the Power of a Number Using Recursion
- Python Program to Find the LCM of Two Numbers Using Recursion
- Python Program to Compute Prime Factors of an Integer
- Python Program to Find
if a Number is Prime or Not Prime Using Recursion - Python Program to Read Print Prime Numbers in a Range using Sieve of Eratosthenes
- Python Program to Find the Length of a List Using Recursion
- Python Program to Reverse a String Using Recursion