看看解决一下这个不会

img


输入一个nm的矩阵,编写一个函数prime(n)判断矩阵中的每个元素是否为素数,将矩阵中所有为素数的元素按从小到大顺序排序后输出。。输入:#
nm,均小于10.
接下来输入n行,每行共m个整数,第之行的m个整数为矩阵的第之行的m个元素。显然,输入的是n行■列的矩阵,即:n
m矩阵。。
输出:"
将所有素数按从小到大顺序输出,两个数之间一个空格隔开。。

def prime(n):
    if n < 2:   # 小于2的数不是素数
        return False
    for i in range(2, int(n ** 0.5) + 1):
        if n % i == 0:  # 如果n可以被i整除,说明n不是素数
            return False
    return True  # 如果上述判断都不成立,说明n是素数

n, m = map(int, input().split())
matrix = []
prime_nums = []  # 用来存储所有素数

for i in range(n):
    row = list(map(int, input().split()))
    matrix.append(row)
    for j in range(m):
        if prime(row[j]):  # 如果该位置的元素是素数,将其加入到prime_nums列表中
            prime_nums.append(row[j])

for num in sorted(prime_nums):  # 将素数按从小到大顺序排序后输出
    print(num, end=' ')