Recursive program for prime number (original) (raw)
Last Updated : 27 Jan, 2022
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
JavaScript
`