## Instructions

A twin prime is a prime number that differs from another prime number by 2. Write a function named is_twin_prime which takes an int parameter and returns true if it is a twin prime, else false.

**Example:**

given 5, which is prime

5+2=7 which is prime

5-2=3 which is prime

Hence, 5 has two prime twins and its a Twin Prime.

given 7, which is prime

7-2=5 which is prime

7+2=9 which is not prime

Hence, 7 has one prime twin, and its a Twin Prime.

given 9, which is not prime

Hence, 9 is not a Twin Prime

given 953 , which is prime

953-2=951 , which is not prime

953+2=955 , which is not prime

Hence, 953 is not a Twin Prime.

## My solution:

```
function isTwinPrime(n){
function isPrime(x){
let d = x-1;
while (d > 1){
if ((x % d) == 0) return false;
d--;
}
return x > 1
}
if(!isPrime(n)) return false
if(isPrime(n-2) || isPrime(n+2)){
return true
}
return false
}
```

## Explanation

I started doing a function that took a number as a paremeter and looked if it is an prime number or not.

After that I used a conditional that checked if the original number is prime, if it's not it'll return false.

Then I used another conditional for checking if the number two numbers before or two numbers after the original number are primes, if any of those are primes, it returns true.

Else it returns false

Comment how would you solve this kata and why? 👇🤔

## Top comments (0)