Related Articles
Check if a number is sandwiched between primes
• Last Updated : 07 Apr, 2021

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

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

 ``

## Javascript

 ``

Output:

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