Дан двумерный массив. Возвести в квадрат все простые числа. Я написал так, но это не работает. Помогите !
for (int i = 1; i <= row; i++)
{
for (int j = 1; j <= col; j++)
{
if (a[i - 1][j - 1] % i*j == 0)
{
a[i-1][j-1] *= a[i-1][j-1];
}
}
}
for (int i = 0; i < row; i++)
{
for (int j = 0; j < col; j++)
{
cout<<a[i][j]<<" " ;
}
cout << endl;
}
bool isPrime(int n)
{
n = abs(n); // На всякий случай, если рассматриваются не только натуральные числа...
if (n < 2 || n%2 == 0) return false;
for(int i = 3; i*i <= n; i += 2)
if (n%i == 0) return false;
return true;
}
....
for (int i = 0; i < row; i++)
for (int j = 0; j < col; j++)
if (isPrime(a[i][j])) a[i][j] *= a[i][j];
Объявляем функцию
bool isPrime(int n) {
int i=2, flag = 1;
while (i<=n/2 && flag==1){
if(n%i==0) {
flag=0;
}
else {
i++;
}
}
return flag;
}
Далее используем для вашего массива
for (int i = 0; i < row; i++)
{
for (int j = 0; j < col; j++)
{
if (isPrime(a[i][j]) == 1)
{
a[i][j] = a[i][j]*a[i][j];
}
}
}
for (int i = 0; i < row; i++)
{
for (int j = 0; j < col; j++)
{
cout<<a[i][j]<<" " ;
}
cout << endl;
}
Неверная проверка на простое число. Корректная проверка на простоту:
for (int l = 1; l <= sqrt(num); l++)
if (num % l == 0) num *= num;
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
ИтакПередача объекта класса Pri в класс Event происходит успешно
Разбираюсь с рисовкой в Qt, пытаюсь нарисовать свою графическую фигуру, используя QPainterPathДля этого создаю класс class PuzzlePiece : public QGraphicsPathItem
Можно ли заменить следующий цикл на какой-то стандартный алгоритм библиотеки?
Написал проверку для input-ов на наличие хотя бы 1-ого символа для того чтобы удалить атрибут disabled с кнопки отправкиВ условии так же указал если...