def is_prime(n):
if n < 2:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
def spiral_matrix(rows, cols):
matrix = [[0] * cols for _ in range(rows)]
num = 1
left, right, top, bottom = 0, cols - 1, 0, rows - 1
while left <= right and top <= bottom:
for j in range(left, right + 1):
matrix[top][j] = num
num += 1
top += 1
for i in range(top, bottom + 1):
matrix[i][right] = num
num += 1
right -= 1
if top <= bottom:
for j in range(right, left - 1, -1):
matrix[bottom][j] = num
num += 1
bottom -= 1
if left <= right:
for i in range(bottom, top - 1, -1):
matrix[i][left] = num
num += 1
left += 1
return matrix
rows = 6
cols = 6
matrix = spiral_matrix(rows, cols)
new_matrix = [[1 if is_prime(num) else 0 for num in row] for row in matrix]
print("\nПеретворена матриця (1 - просте, 0 - ні):")
for row in new_matrix:
print(*row)
ZGVmIGlzX3ByaW1lKG4pOgogICAgaWYgbiA8IDI6CiAgICAgICAgcmV0dXJuIEZhbHNlCiAgICBmb3IgaSBpbiByYW5nZSgyLCBpbnQobioqMC41KSArIDEpOgogICAgICAgIGlmIG4gJSBpID09IDA6CiAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgcmV0dXJuIFRydWUKCmRlZiBzcGlyYWxfbWF0cml4KHJvd3MsIGNvbHMpOgogICAgbWF0cml4ID0gW1swXSAqIGNvbHMgZm9yIF8gaW4gcmFuZ2Uocm93cyldCiAgICBudW0gPSAxCiAgICBsZWZ0LCByaWdodCwgdG9wLCBib3R0b20gPSAwLCBjb2xzIC0gMSwgMCwgcm93cyAtIDEKCiAgICB3aGlsZSBsZWZ0IDw9IHJpZ2h0IGFuZCB0b3AgPD0gYm90dG9tOgogICAgICAgIAogICAgICAgIGZvciBqIGluIHJhbmdlKGxlZnQsIHJpZ2h0ICsgMSk6CiAgICAgICAgICAgIG1hdHJpeFt0b3BdW2pdID0gbnVtCiAgICAgICAgICAgIG51bSArPSAxCiAgICAgICAgdG9wICs9IDEKCiAgICAgICAgCiAgICAgICAgZm9yIGkgaW4gcmFuZ2UodG9wLCBib3R0b20gKyAxKToKICAgICAgICAgICAgbWF0cml4W2ldW3JpZ2h0XSA9IG51bQogICAgICAgICAgICBudW0gKz0gMQogICAgICAgIHJpZ2h0IC09IDEKCiAgICAgICAgCiAgICAgICAgaWYgdG9wIDw9IGJvdHRvbToKICAgICAgICAgICAgZm9yIGogaW4gcmFuZ2UocmlnaHQsIGxlZnQgLSAxLCAtMSk6CiAgICAgICAgICAgICAgICBtYXRyaXhbYm90dG9tXVtqXSA9IG51bQogICAgICAgICAgICAgICAgbnVtICs9IDEKICAgICAgICAgICAgYm90dG9tIC09IDEKCiAgICAgICAgCiAgICAgICAgaWYgbGVmdCA8PSByaWdodDoKICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UoYm90dG9tLCB0b3AgLSAxLCAtMSk6CiAgICAgICAgICAgICAgICBtYXRyaXhbaV1bbGVmdF0gPSBudW0KICAgICAgICAgICAgICAgIG51bSArPSAxCiAgICAgICAgICAgIGxlZnQgKz0gMQoKICAgIHJldHVybiBtYXRyaXgKCgoKcm93cyA9IDYKY29scyA9IDYKCgptYXRyaXggPSBzcGlyYWxfbWF0cml4KHJvd3MsIGNvbHMpCgoKbmV3X21hdHJpeCA9IFtbMSBpZiBpc19wcmltZShudW0pIGVsc2UgMCBmb3IgbnVtIGluIHJvd10gZm9yIHJvdyBpbiBtYXRyaXhdCgoKCnByaW50KCJcbtCf0LXRgNC10YLQstC+0YDQtdC90LAg0LzQsNGC0YDQuNGG0Y8gKDEgLSDQv9GA0L7RgdGC0LUsIDAgLSDQvdGWKToiKQpmb3Igcm93IGluIG5ld19tYXRyaXg6CiAgICBwcmludCgqcm93KQogICAg