📜  检查矩阵的对角线元素是否为素数(1)

📅  最后修改于: 2023-12-03 15:10:55.438000             🧑  作者: Mango

检查矩阵的对角线元素是否为素数

在矩阵中,对角线元素是指从左上到右下的连线上的元素,或者从右上到左下的连线上的元素。检查矩阵的对角线元素是否为素数,可以通过以下Python代码实现。

实现步骤
  1. 定义一个函数is_prime(n),用来判断一个数是否为素数。
  2. 定义一个函数check_diagonal(matrix),用来检查矩阵的对角线元素是否为素数。
  3. check_diagonal(matrix)函数中,获取矩阵的对角线元素。
  4. 对每个对角线元素,调用is_prime(n)函数进行素数判断。
  5. 如果对角线元素是素数,则输出提示信息,否则跳过。
代码实现
def is_prime(n):
    if n <= 1:
        return False
    for i in range(2, int(n**0.5)+1):
        if n % i == 0:
            return False
    return True

def check_diagonal(matrix):
    n = len(matrix)
    diagonals = []
    for i in range(n):
        diagonals.append(matrix[i][i])
        diagonals.append(matrix[n-i-1][i])
    for num in diagonals:
        if is_prime(num):
            print(f"{num}是素数!")
        else:
            print(f"{num}不是素数。")

matrix = [[1,2,3],
          [4,5,6],
          [7,8,9]]

check_diagonal(matrix)
代码说明
  1. is_prime(n)函数用来判断一个数是否为素数。它通过对2~$\sqrt{n}$的整数进行取模运算,如果整除,则说明该数不是素数,返回False;否则说明该数是素数,返回True。
  2. check_diagonal(matrix)函数用来检查矩阵的对角线元素是否为素数。
  3. check_diagonal(matrix)函数中,首先获取矩阵的对角线元素,即从左上到右下的元素和从右上到左下的元素。
  4. 对每个对角线元素,调用is_prime(n)函数进行素数判断。
  5. 如果对角线元素是素数,则输出提示信息,否则跳过。
输出结果

当输入矩阵为:

[[1, 2, 3],
 [4, 5, 6],
 [7, 8, 9]]

输出结果为:

1不是素数。
5是素数!
9不是素数。

注意,对于矩阵的中心元素5,它既是从左上到右下的对角线元素,又是从右上到左下的对角线元素,因此会被重复输出。