Skip to content
Related Articles

Related Articles

Improve Article
Recursive program for prime number
  • Difficulty Level : Easy
  • Last Updated : 07 Apr, 2021

Given a number n, check whether it’s prime number or not using recursion.
Examples: 
 

Input : n = 11
Output : Yes

Input : n = 15
Output : No

 

The idea is based on school method to check for prime numbers.
 

C++




// CPP Program to find whether a Number  
// is Prime or Not using Recursion
#include <bits/stdc++.h>
using namespace std;
 
// Returns true if n is prime, else
// return false.
// i is current divisor to check.
bool isPrime(int n, int i = 2)
{
    // Base cases
    if (n <= 2)
        return (n == 2) ? true : false;
    if (n % i == 0)
        return false;
    if (i * i > n)
        return true;
 
    // Check for next divisor
    return isPrime(n, i + 1);
}
 
// Driver Program
int main()
{
    int n = 15;
    if (isPrime(n))
        cout << "Yes";
    else
        cout << "No";
 
    return 0;
}

Java




// java Program to find whether a Number
// is Prime or Not using Recursion
import java.util.*;
 
class GFG {
 
    // Returns true if n is prime, else
    // return false.
    // i is current divisor to check.
    static boolean isPrime(int n, int i)
    {
 
        // Base cases
        if (n <= 2)
            return (n == 2) ? true : false;
        if (n % i == 0)
            return false;
        if (i * i > n)
            return true;
      
        // Check for next divisor
        return isPrime(n, i + 1);
    }
     
    // Driver program to test above function
    public static void main(String[] args)
    {
 
        int n = 15;
 
        if (isPrime(n, 2))
            System.out.println("Yes");
        else
            System.out.println("No");
    }
}
 
// This code is contributed by Sam007.

Python3




# Python 3 Program to find whether
# a Number is Prime or Not using
# Recursion
 
# Returns true if n is prime, else
# return false.
# i is current divisor to check.
def isPrime(n, i = 2):
 
    # Base cases
    if (n <= 2):
        return True if(n == 2) else False
    if (n % i == 0):
        return False
    if (i * i > n):
        return true
 
    # Check for next divisor
    return isPrime(n, i + 1)
 
 
# Driver Program
n = 15
if (isPrime(n)):
    print("Yes")
else:
    print("No")
     
# This code is contributed by
# Smitha Dinesh Semwal

C#




// C# Program to find whether a Number
// is Prime or Not using Recursion
using System;
 
class GFG
{
    // Returns true if n is prime, else
    // return false.
    // i is current divisor to check.
    static bool isPrime(int n, int i)
    {
 
        // Base cases
        if (n <= 2)
            return (n == 2) ? true : false;
        if (n % i == 0)
            return false;
        if (i * i > n)
            return true;
     
        // Check for next divisor
        return isPrime(n, i + 1);
    }
     
     
    // Driver code
    static void Main()
    {
    int n = 15;
 
        if (isPrime(n, 2))
            Console.Write("Yes");
        else
            Console.Write("No");
    }
     
}
 
// This code is contributed by Sam007

PHP




<?php
// PHP Program to find whether a Number
// is Prime or Not using Recursion
 
// Returns true if n is prime, else
// return false.
// i is current divisor to check.
function isPrime($n, $i = 2)
{
    // Base cases
    if ($n <= 2)
        return ($n == 2) ? true : false;
    if ($n % $i == 0)
        return false;
    if ($i * $i > $n)
        return true;
 
    // Check for next divisor
    return isPrime($n, $i + 1);
}
 
// Driver Code
$n = 15;
if (isPrime($n))
    echo("Yes");
else
    echo("No");
 
// This code is contributed by Ajit.
?>

Javascript




<script>
 
// JavaScript  program to find whether a Number
// is Prime or Not using Recursion
 
    // Returns true if n is prime, else
    // return false.
    // i is current divisor to check.
    function isPrime(n, i)
    {
   
        // Base cases
        if (n <= 2)
            return (n == 2) ? true : false;
        if (n % i == 0)
            return false;
        if (i * i > n)
            return true;
        
        // Check for next divisor
        return isPrime(n, i + 1);
    }
   
  
// Driver code
 
        
       let n = 15;
   
        if (isPrime(n, 2))
            document.write("Yes");
        else
            document.write("No");
 
</script>
Output: 
No

 

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

In case you wish to attend live classes with industry experts, please refer DSA Live Classes




My Personal Notes arrow_drop_up
Recommended Articles
Page :