Skip to content
Related Articles

Related Articles

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 mathematical concepts for competitive programming with the Essential Maths for CP Course at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.




My Personal Notes arrow_drop_up
Recommended Articles
Page :