Checking For Prime

programming problems

prime numbers are surprisingly easy to check for. to check if a number is prime, we divide it by it’s factors. 1 is not prime

``````def is_prime(num):
if num > 1:
for i in range(2, num):
if num%i == 0:
return False
return True

``````

we take all numbers from 2 to the num and we start dividing by 2, 3, 4, 5, …

but really we need only to go to half the numbers, upto n//2 + 1

``````def is_prime(num):
if num > 1:
for i in range(2, (num//2)+1):
if num%i == 0:
return False
return True

``````

then we can use it like that:

``````for i in range(100):
prime = is_prime(i)
if prime: print(i)

``````

for primes upto 100. pretty easy.

## checking for the first time there is a difference of 100

``````primes = []
for i in range(10000):
prime = is_prime(i)
if prime:
primes.append(i)

def first_100_diff(primes):
for primeA in primes:
for primeB in primes:
if abs(primeA - primeB) == 100:
print(primeA, primeB)
return

first_100_diff(primes)

``````

the above checks the first time there is a difference of 100. modify the loop to check for the next 10 occurances.