The following code will print the prime numbers between 1 and 100. Modify the code so it prints every other prime number from 1 to 100


In [2]:
n=0
for x in range(1,101): # 1 is not a prime number
    prime = True
    for i in range(2,x): 
        if (x%i == 0):
            prime = False
    if prime:
        n=n+1
        if (n%2 == 0): # or "n%2 != 0"
            print (x)


2
5
11
17
23
31
41
47
59
67
73
83
97

Extra Credit: Can you write a procedure that runs faster than the one above?


In [3]:
import math

In [10]:
n = 0
for num in range(1,100):
    if all(num%i!=0 for i in range(2,int(math.sqrt(num))+1)):
        if num:
            n=n+1
            if (n%2 != 0):
                print(num)


1
3
7
13
19
29
37
43
53
61
71
79
89

In [ ]: