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)