import math
p = int(
b = false
for i in range(1, p ** 2):
gip = (p ** 2) + (i ** 2)
if math.sqrt(gip) % 1 == 0:
b = true
if int(math.sqrt(gip)) ! = p:
print(int(math.sqrt(
if b == false:
print(-1)
# что-то типо этого, но не проходит по времени. надо смотреть диапазон. может если кто дорешает, ответьте. а так всё норм работает)
#include <iostream>
using namespace std;
int main()
{
int n; cout << "розмір квадратної матриці = ";
cin >> n;
int mt[n][n]; // оголошення матриці розмірністю n*m, де n = m = n
srand(time(NULL));
cout << "була: " << endl;
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
mt[i][j]=rand()%21-10; // генерація випадкових чисел в матриці
cout << " " << mt[i][j]; // вивід матриці
cout << endl;
}
cout << endl << "стала: " << endl;
for (int i = 0; i < n; i++) //індексація масивів у C++ завжди з 0, тому ДО n
int* temp=new int[n]; // видозмінити матрицю (двовимірний масив) можна за до одновимірного динамічного масиву temp[n] або змінної temp
temp[i] = mt[n-1][i]; // записати ("покласти") в масив temp "копію" останнього (n-1) рядка матриці
mt[n-1][i] = mt[i][0]; // останній (n-1) рядок матриці обернути на перший (нульовий) стовпець матриці
mt[i][0] = temp[i]; // перший (нульовий) стовпець обернути на «копію» останнього (n-1) рядка, яка міститься в допоміжному масиві temp (зчитати з temp)
cout << " " << mt[i][j]; // вивід видозміненої матриці
return 0; }
import math
p = int(
b = false
for i in range(1, p ** 2):
gip = (p ** 2) + (i ** 2)
if math.sqrt(gip) % 1 == 0:
b = true
if int(math.sqrt(gip)) ! = p:
print(int(math.sqrt(
if b == false:
print(-1)
# что-то типо этого, но не проходит по времени. надо смотреть диапазон. может если кто дорешает, ответьте. а так всё норм работает)
#include <iostream>
using namespace std;
int main()
{
int n; cout << "розмір квадратної матриці = ";
cin >> n;
int mt[n][n]; // оголошення матриці розмірністю n*m, де n = m = n
srand(time(NULL));
cout << "була: " << endl;
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
mt[i][j]=rand()%21-10; // генерація випадкових чисел в матриці
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
cout << " " << mt[i][j]; // вивід матриці
cout << endl;
}
cout << endl << "стала: " << endl;
for (int i = 0; i < n; i++) //індексація масивів у C++ завжди з 0, тому ДО n
{
int* temp=new int[n]; // видозмінити матрицю (двовимірний масив) можна за до одновимірного динамічного масиву temp[n] або змінної temp
temp[i] = mt[n-1][i]; // записати ("покласти") в масив temp "копію" останнього (n-1) рядка матриці
mt[n-1][i] = mt[i][0]; // останній (n-1) рядок матриці обернути на перший (нульовий) стовпець матриці
mt[i][0] = temp[i]; // перший (нульовий) стовпець обернути на «копію» останнього (n-1) рядка, яка міститься в допоміжному масиві temp (зчитати з temp)
}
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
cout << " " << mt[i][j]; // вивід видозміненої матриці
cout << endl;
}
return 0; }