# Check if a number is sandwiched between primes

A number is said to be sandwiched between primes if the number just after it and the number just before are Prime numbers. So, a sandwiched number is between two prime numbers.

Given a number n, we need to check whether this number is sandwiched between primes or not.

Examples:

```Input :  642
Output : Yes
Explanation : 641 and 643 are both prime numbers

Input :  6
Output : Yes
Explanation : 5 and 7 both are prime numbers

Input : 9
Output : No
Explanation : 8 and 10 both are non-prime numbers
```

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

The idea is simple, we check if n-1 and n-2 are prime numbers.

## C++

 `// CPP Program to check whether a number is  ` `// sandwiched between two primes or not ` `#include ` `#include ` `using` `namespace` `std; ` ` `  `// returns true if number n is prime ` `bool` `isPrime(``int` `n) ` `{ ` `    ``// 0 and 1 both are non-primes ` `    ``if` `(n == 0 || n == 1) ``return` `false``; ` `   `  `    ``// finding square root of n ` `    ``int` `root = ``sqrt``(n); ` ` `  `    ``// checking if n has any  ` `    ``// factor upto square root of n ` `    ``// if yes its not prime ` `    ``for` `(``int` `i=2;i<=root;i++) ` `        ``if` `(n%i == 0) ` `            ``return` `false``; ` `    ``return` `true``; ` `} ` ` `  `bool` `isSandwitched(``int` `n) ` `{ ` `    ``return` `(isPrime(n-1) && isPrime(n+1)); ` `} ` ` `  `// Driver's Code ` `int` `main() ` `{ ` `   ``int` `n = 642; ` `   ``cout << n << ``" : "``; ` `   ``if` `(isSandwitched(n)) ` `       ``cout<<``"Yes\n"``; ` `   ``else` `       ``cout<<``"No\n"``; ` `      `  `   ``n = 9; ` `   ``cout<< n << ``" : "``; ` `   ``if` `(isSandwitched(n)) ` `       ``cout << ``"Yes\n"``; ` `   ``else` `       ``cout << ``"No\n"``; ` `      `  `     ``return` `0; ` `}`

## Java

 `// java Program to check whether  ` `// a number is  sandwiched between ` `// two primes or not ` ` `  `import` `java.io.*; ` ` `  `class` `GFG { ` ` `  `    ``// returns true if number n is prime ` `    ``static` `boolean` `isPrime(``int` `n) ` `    ``{ ` `        ``// 0 and 1 both are non-primes ` `        ``if` `(n == ``0` `|| n == ``1``) ``return` `false``; ` `     `  `        ``// finding square root of n ` `        ``int` `root = (``int``)Math.sqrt(n); ` `     `  `        ``// checking if n has any  ` `        ``// factor upto square root of n ` `        ``// if yes its not prime ` `        ``for` `(``int` `i = ``2``; i <= root; i++) ` `            ``if` `(n % i == ``0``) ` `                ``return` `false``; ` `        ``return` `true``; ` `    ``} ` `     `  `    ``static` `boolean` `isSandwitched(``int` `n) ` `    ``{ ` `        ``return` `(isPrime(n - ``1``) && isPrime(n + ``1``)); ` `    ``} ` `     `  `     `  `    ``// Driver's Code ` `    ``public` `static` `void` `main (String[] args)  ` `    ``{ ` `        ``int` `n = ``642``; ` `        ``System.out.print ( n + ``" : "``); ` `        ``if` `(isSandwitched(n)) ` `            ``System.out.println(``"Yes"``); ` `        ``else` `            ``System.out.println(``"No"``); ` `             `  `        ``n = ``9``; ` `        ``System.out.print(n + ``" : "``); ` `        ``if` `(isSandwitched(n)) ` `            ``System.out.println( ``"Yes"``); ` `        ``else` `            ``System.out.println (``"No"``); ` `             `  `         `  `    ``} ` `} ` ` `  `// This article is contributed by vt_m. `

## Python3

 `# Python Program to check ` `# whether a number is  ` `# sandwiched between ` `# two primes or not ` ` `  `import` `math ` ` `  `# returns true if number n is prime ` `def` `isPrime(n): ` ` `  `    ``# 0 and 1 both are non-primes ` `    ``if` `(n ``=``=` `0` `or` `n ``=``=` `1``): ` `       ``return` `False` `    `  `    ``# finding square root of n ` `    ``root ``=` `int``(math.sqrt(n)) ` `  `  `    ``# checking if n has any  ` `    ``# factor upto square root of n ` `    ``# if yes its not prime ` `    ``for` `i ``in` `range``(``2` `,root``+``1``): ` `        ``if` `(n``%``i ``=``=` `0``): ` `             ``return` `False` `    ``return` `True` ` `  `def` `isSandwitched(n): ` ` `  `    ``return` `(isPrime(n``-``1``) ``and` `isPrime(n``+``1``)) ` ` `  `# driver Function ` `n ``=` `642` `print``(n , end``=``" : "``) ` `if` `(isSandwitched(n)): ` `    ``print``(``"Yes"``) ` `else``: ` `    ``print``(``"No"``) ` `       `  `n ``=` `9` `print``(n , end``=` `" : "``) ` `if` `(isSandwitched(n)): ` `    ``print``(``"Yes"``) ` `else``: ` `    ``print``(``"No"``) ` ` `  `# This code is contributed by Gitanjali. `

## C#

 `// C# Program to check whether  ` `// a number is sandwiched between ` `// two primes or not ` `using` `System; ` ` `  `class` `GFG { ` ` `  `    ``// returns true if number n is prime ` `    ``static` `bool` `isPrime(``int` `n) ` `    ``{ ` `         `  `        ``// 0 and 1 both are non-primes ` `        ``if` `(n == 0 || n == 1)  ` `           ``return` `false``; ` `     `  `        ``// finding square root of n ` `        ``int` `root = (``int``)Math.Sqrt(n); ` `     `  `        ``// checking if n has any factor ` `        ``// upto square root of n if yes ` `        ``// its not prime ` `        ``for` `(``int` `i = 2; i <= root; i++) ` `            ``if` `(n % i == 0) ` `                ``return` `false``; ` `        ``return` `true``; ` `    ``} ` `     `  `    ``static` `bool` `isSandwitched(``int` `n) ` `    ``{ ` `        ``return` `(isPrime(n - 1) && isPrime(n + 1)); ` `    ``} ` `     `  `     `  `    ``// Driver Code ` `    ``public` `static` `void` `Main ()  ` `    ``{ ` `        ``int` `n = 642; ` `        ``Console.Write( n + ``" : "``); ` `        ``if` `(isSandwitched(n)) ` `           ``Console.WriteLine(``"Yes"``); ` `        ``else` `           ``Console.Write(``"No"``); ` `             `  `        ``n = 9; ` `            ``Console.Write(n + ``" : "``); ` `        ``if` `(isSandwitched(n)) ` `            ``Console.Write(``"Yes"``); ` `        ``else` `             ``Console.Write (``"No"``); ` `             `  `    ``} ` `} ` ` `  `// This code is contributed by Nitin Mittal. `

## PHP

 ` `

Output:

```642 : Yes
9 : 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.

Improved By : nitin mittal, jit_t