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.