a) tính tổng số các phần tử trên đường chéo chính
b) tính tích các phần tử trên đường chéo phụ
c) xuất ra một mảng hai chiều với các phần là các số dương còn các vị trí còn lại thì ghi 0
Quảng cáo
1 câu trả lời 178
import numpy as np
def is_prime(n):
# Kiểm tra số nguyên tố
if n < 2:
return False
for i in range(2, int(np.sqrt(n))+1):
if n % i == 0:
return False
return True
# Bước 1: Nhập mảng hai chiều
rows, cols = map(int, input("Nhập số hàng và số cột của mảng: ").split())
arr = np.zeros((rows, cols), dtype=int)
count = 0
for i in range(rows):
for j in range(cols):
while True:
x = int(input(f"Nhập phần tử ({i}, {j}): "))
if is_prime(x):
arr[i][j] = x
count += 1
break
else:
print("Phần tử nhập vào không phải số nguyên tố! Vui lòng nhập lại.")
# Bước 2: Tính tổng các phần tử trên đường chéo chính
sum_diag = np.trace(arr)
# Bước 3: Tính tích các phần tử trên đường chéo phụ
prod_diag = np.prod(np.diag(np.fliplr(arr)))
# Bước 4: Tạo mảng hai chiều mới với các phần tử là các số dương
new_arr = np.where(arr > 0, arr, 0)
# Bước 5: Xuất mảng hai chiều mới
print("Mảng hai chiều mới:")
print(new_arr)
Lưu ý: câu a là bước 2.
câu b là bước 3
câu c là bước 4,5
Quảng cáo
Bạn cần hỏi gì?
Câu hỏi hot cùng chủ đề
-
Hỏi từ APP VIETJACK45509
-
Hỏi từ APP VIETJACK28401
