📅  最后修改于: 2023-12-03 15:39:56.564000             🧑  作者: Mango
题目要求我们读取一个矩阵,对其中的质数进行判断。如果某个元素是质数,那么就将它替换为它的平方根的整数部分。如果不是质数,则将其替换为0。
import math
# 判断是否为质数
def is_prime(n):
if n < 2:
return False
for i in range(2, int(math.sqrt(n))+1):
if n % i == 0:
return False
return True
# 处理矩阵
def process_matrix(matrix):
for i in range(len(matrix)):
for j in range(len(matrix[i])):
if is_prime(matrix[i][j]):
matrix[i][j] = int(math.sqrt(matrix[i][j]))
else:
matrix[i][j] = 0
return matrix
# 测试代码
matrix = [[11, 12, 13], [14, 15, 16], [17, 18, 19]]
print(process_matrix(matrix))
[[3, 0, 3], [0, 0, 0], [4, 0, 4]]
输入的矩阵为:
[
[11, 12, 13],
[14, 15, 16],
[17, 18, 19]
]
处理后的矩阵为:
[
[3, 0, 3],
[0, 0, 0],
[4, 0, 4]
]
其中,11、13、17、19是质数,所以被替换为它们的平方根的整数部分。其他的元素不是质数,所以都被替换为0。