Сгенерировать квадратный двойной массив, где сумма элементов на контуре квадрата равна сумме элементов внутри квадрата
Ума не приложу, как решить задачу.
Создать программу, которая будет генерировать квадратные двойные массивы произвольного размера такие, что сумма элементов на контуре квадрата у них будет равна сумме элементов внутри контура.
Ответы (1 шт):
Автор решения: Инквизитор
→ Ссылка
Примерно так, думаю:
берете произвольный размер x;
размер массива (количество элементов) = x^2;
размер внутренней части массива = (x-2)^2;
сгенерировать контур рандомно и записать его сумму:
var k = 0; for (i from 0 to x-1) { for (j from 0 to x-1) { if (i = 0 or i = x-1) and (j = 0 or j = x-1) { var t = random number; array[i,j] = t; k = k + t; } } }сумма элементов контура хранится в
k;сгенерировать (x-2)^2 чисел, которые в сумме дадут
k, и рассовать их во внутреннюю часть массива примерно тем же способом, только изменив условия для элементов массива;