Open In App

Recursive program for prime number

Last Updated : 27 Jan, 2022
Comments
Improve
Suggest changes
Like Article
Like
Report

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

 

Next Article

Similar Reads