Python libraries to check if a number is prime

Asked

Viewed 2,240 times

1

Is there any library to determine whether the number is prime or the only way is to create the program and run it normally?

3 answers

4


You can use libraries, but really I see no need to install an additional library for something "simple" and that seldom will be used in something serious.

So the only library you’ll need is the library native math and with a loop (while for example) and a calculation will get the result, it can be a simple script like this:

import math

def isPrime(n):
    start = 2;

    while start <= math.sqrt(n):
        if n % start < 1:
            return False;
        start += 1;

    return n > 1;


print(isPrime(12));
print(isPrime(13));

Based on Prime Numbers Javascript


It’s important that you will not get a good performance when the number is great, not even writing "the best script of all" will manage.

Here is an example with primes up to 997, all must return True:

import math

def isPrime(n):
    start = 2;

    while start <= math.sqrt(n):
        if n % start < 1:
            return False;
        start += 1;

    return n > 1;


primos = [ 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, 101, 103, 107,
          109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167,
          173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229,
          233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283,
          293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359,
          367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431,
          433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491,
          499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571,
          577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641,
          643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709,
          719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787,
          797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859,
          863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941,
          947, 953, 967, 971, 977, 983, 991, 997]

for numero in primos:
    print(isPrime(numero))

Online example on repl it.

1

Yes there is. There is the python library repository, where developers put useful libraries for the developer, among them, for involving prime numbers.

Libraries involving prime numbers

0

I’m still learning python, so to find out if a number is prime I made this program:

    def calc(num, outro, raiz):
        if num%outro==0 and outro!=num:
            return False
        else:
            outro = outro+1
            if outro>>raiz:
                return True
            else:
                return calc(num, outro, raiz)
    
    import math
    num= input ('Entre com um número: ')
    num = int (num)
    if num == 1 or num == 0:
        print (f'Esse número não é primo e nem composto. Essa característica não é atribuída ao número {num}.')
    else:
        raiz=math.sqrt(num)
        raiz = int (raiz)
        outro=2
        resultado = calc (num, outro, raiz)
        if resultado == False:
            print (f'O número {num} não é primo.')

        else:
            print (f'O número {num} é primo.')

Browser other questions tagged

You are not signed in. Login or sign up in order to post.