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 [11]:
for num in range(1,101):
    a = []
    prime = True
    for i in range(2,num): # for-loop to check for "primeness" by checking for divisors other than 1
        if (num%i==0): # logical test for the number having a divisor other than 1 and itself
            prime = False # if there's a divisor, the boolean value gets flipped to False
    if prime: # if prime is still True after going through all numbers from 1 - 100, then it gets printed
        a.append(num)
    b = a[::2]
    print(b)


[1]
[2]
[3]
[]
[5]
[]
[7]
[]
[]
[]
[11]
[]
[13]
[]
[]
[]
[17]
[]
[19]
[]
[]
[]
[23]
[]
[]
[]
[]
[]
[29]
[]
[31]
[]
[]
[]
[]
[]
[37]
[]
[]
[]
[41]
[]
[43]
[]
[]
[]
[47]
[]
[]
[]
[]
[]
[53]
[]
[]
[]
[]
[]
[59]
[]
[61]
[]
[]
[]
[]
[]
[67]
[]
[]
[]
[71]
[]
[73]
[]
[]
[]
[]
[]
[79]
[]
[]
[]
[83]
[]
[]
[]
[]
[]
[89]
[]
[]
[]
[]
[]
[]
[]
[97]
[]
[]
[]

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


In [6]:
for num in range(1,101):
    if all(num%i!=0 for i in range(2,num)):
       print(num)


1
2
3
5
7
11
13
17
19
23
29
31
37
41
43
47
53
59
61
67
71
73
79
83
89
97

In [ ]: