Последняя двойка означает что было прибавлено d и получилось 37. Предпоследняя единица означает, что перед этим число было возведено в квадрат. Ближайшие квадраты чисел это 36 (6²) или 25 (5²).
Предположим что до возведения в квадрат это было число 6, которое потом возвели в квадрат, получили 36 прибавили d и получили 37. Тогда d=1. Двигаемся дальше к началу. 6 получилось после того как два раза прибавили d (Две двойки на 2 и 3 месте в программе). Если мы предположили что d=1, то до этих прибавлений число было 6-1-1=4.
4 получилось после выполнения команды 1, то есть после возведения начального числа в квадрат. Очевидно что начальное число было 2, что соответствует условию.
Заполняется случайными числами, можно сделать пользовательский ввод, заменив arr[i][j] = rand() % 100; на cin >> arr[i][j];
#include <iostream>
#include <random>
#include <ctime>
#include <cmath>
using namespace std;
void printArr(int** arr, size_t sizeX, size_t sizeY) {
for (size_t i = 0; i < sizeX; ++i) {
for (size_t j = 0; j < sizeY; ++j) {
cout << arr[i][j] << " ";
}
cout << endl;
}
}
void func1(int** arr, size_t sizeX, size_t sizeY) {
for (size_t i = 0; i < sizeX; ++i) {
for (size_t j = 0; j < sizeY; ++j) {
if (arr[i][j] % 2 == 1) {
arr[i][j] *= 2;
}
}
}
}
void func2(int** arr, size_t sizeX, size_t sizeY) {
for (size_t i = 0; i < sizeX; ++i) {
int32_t min = INT32_MAX;
for (size_t j = 0; j < sizeY; ++j) {
if (arr[i][j] < min) {
min = arr[i][j];
}
}
cout << i << ": sqrt(" << min << ") = " << sqrt(min) << endl;
}
}
int main() {
srand(time(0));
const size_t sizeX = 4, sizeY = 3;
int** arr = new int*[4];
for (size_t i = 0; i < sizeX; ++i) {
arr[i] = new int[sizeY];
for (size_t j = 0; j < sizeY; ++j) {
arr[i][j] = rand() % 100;
}
}
printArr(arr, sizeX, sizeY);
func1(arr, sizeX, sizeY);
cout << endl;
printArr(arr, sizeX, sizeY);
func2(arr, sizeX, sizeY);
}
d=1
Объяснение:
Программа 12212 дает результат 37. Идем с конца
Последняя двойка означает что было прибавлено d и получилось 37. Предпоследняя единица означает, что перед этим число было возведено в квадрат. Ближайшие квадраты чисел это 36 (6²) или 25 (5²).
Предположим что до возведения в квадрат это было число 6, которое потом возвели в квадрат, получили 36 прибавили d и получили 37. Тогда d=1. Двигаемся дальше к началу. 6 получилось после того как два раза прибавили d (Две двойки на 2 и 3 месте в программе). Если мы предположили что d=1, то до этих прибавлений число было 6-1-1=4.
4 получилось после выполнения команды 1, то есть после возведения начального числа в квадрат. Очевидно что начальное число было 2, что соответствует условию.
Значит наше предположение что d=1 верное.
ответ: d=1