How can I display the first 25 prime numbers?

Question:

How can I display the first 25 integer prime numbers in the given interval? I can’t find a way to limit it to 25 integer prime numbers.

minimum = 1000000000
maximum = 9999999999
print ("The first 25 10-digit prime numbers are:")
for num in range (minimum, maximum + 1):
    if num > 1:
        for i in range (2, num):
            if (num % i) == 0:
                break
    else:
        print(num)
Asked By: A.Brusola

||

Answers:

If nothing else, you could use a variable to keep track of how many you’ve printed and break from the outer loop when that hits 25.

Here’s an example, added to your code.

minimum = 1000000000
maximum = 9999999999
printed = 0
print ("The first 25 10-digit prime numbers are:")
for num in range (minimum, maximum + 1):
    if num > 1:
        for i in range (2, num):
            if (num % i) == 0:
                break
    else:
        print(num)
        printed+= 1

    if printed >= 25:
        break
Answered By: Lego

you have to use a counter to store how many prime numbers you’ve found.

minimum = 1000000000
maximum = 9999999999
print ("The first 25 10-digit prime numbers are:")
counter = 0
for num in range (minimum, maximum + 1):
    if counter == 25: break
    if num > 3:
        for i in range (2, int(num/2)): # for optimization
            if (num % i) == 0:
                break
        else:
            counter += 1
            print(counter,num)
    else:
        counter += 1
        print(counter,num)

here is the more optimized code with the hints in the comments:

import math
minimum = 1000000000
maximum = 9999999999
print ("The first 25 10-digit prime numbers are:")
counter = 0
for num in range (minimum, maximum + 1):
    if counter == 25: break
    if num > 3:
        if (num % 2) != 0:
            for i in range (3, math.ceil(math.sqrt(num)), 2):
                if (num % i) == 0:
                    break
            else:
                counter += 1
                print(counter,num)
    else:
        counter += 1
        print(counter,num)
Answered By: No.BoD

You can try this.

from sympy import isprime
i=1
count = 0
while count < 25:
    if isprime(i):
        print(i)
        count += 1
    i += 1
Answered By: Underoos
Categories: questions Tags:
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.