# Recursive program for prime number

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
```

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

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 ` `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

 ` ``\$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. ` `?> `

Output:

```No
```

My Personal Notes arrow_drop_up Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.