📅  最后修改于: 2023-12-03 15:10:55.438000             🧑  作者: Mango
在矩阵中,对角线元素是指从左上到右下的连线上的元素,或者从右上到左下的连线上的元素。检查矩阵的对角线元素是否为素数,可以通过以下Python代码实现。
is_prime(n)
,用来判断一个数是否为素数。check_diagonal(matrix)
,用来检查矩阵的对角线元素是否为素数。check_diagonal(matrix)
函数中,获取矩阵的对角线元素。is_prime(n)
函数进行素数判断。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)
is_prime(n)
函数用来判断一个数是否为素数。它通过对2~$\sqrt{n}$的整数进行取模运算,如果整除,则说明该数不是素数,返回False;否则说明该数是素数,返回True。check_diagonal(matrix)
函数用来检查矩阵的对角线元素是否为素数。check_diagonal(matrix)
函数中,首先获取矩阵的对角线元素,即从左上到右下的元素和从右上到左下的元素。is_prime(n)
函数进行素数判断。当输入矩阵为:
[[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
输出结果为:
1不是素数。
5是素数!
9不是素数。
注意,对于矩阵的中心元素5,它既是从左上到右下的对角线元素,又是从右上到左下的对角线元素,因此会被重复输出。