How to fill a matrix with prime numbers in Python

1 Answer

0 votes
import numpy as np
import math

def is_prime(n):
    if n < 2:
        return False
    if n == 2:
        return True
    if n % 2 == 0:
        return False
    for i in range(3, int(math.sqrt(n)) + 1, 2):
        if n % i == 0:
            return False
    return True

def fill_matrix_with_primes(rows, cols):
    matrix = np.zeros((rows, cols), dtype=int)

    num = 2

    for i in range(rows):
        for j in range(cols):
            while not is_prime(num):
                num += 1
            matrix[i, j] = num
            num += 1
    return matrix

print(fill_matrix_with_primes(4, 5))



'''
run

[[ 2  3  5  7 11]
 [13 17 19 23 29]
 [31 37 41 43 47]
 [53 59 61 67 71]]

'''

 



answered Feb 16, 2024 by avibootz

Related questions

1 answer 300 views
300 views asked Feb 17, 2024 by avibootz
1 answer 224 views
1 answer 208 views
1 answer 248 views
1 answer 264 views
1 answer 234 views
1 answer 199 views
...