const xn=100; const xm=100;var x: array [1..xn, 1..xm] of integer; n, m,i,j,r: integer;
begin write('Введите n');Read(n);write('Введите m');Read(m);for i := 1 to n do beginfor j := 1 to m do beginif ((i = 1) or (i = n)or (j = m) or (j = 1)) thenwrite(0:3,' ')else beginif (((i mod 2) = 0)or((j mod 2) = 0))thenwrite((i*i+j*j):3,' ')else beginr:= Round(Random()*15 - 5);write((r):3,' ');end;end;end; Writeln; end;end.
При безошибочной игре выигрывает первый игрок. Своим первым ходом он должен взять один камень. В куче останется пять камней. Какой бы ход ни сделал второй игрок, в куче останется 4, 3 или 2 камня. Это позволяет первому игроку своим вторым ходом оставить в куче ровно один камень, его и должен будет забрать своим вторым ходом второй игрок
Задача сделана на языке паскаль, при помощи
PaskalPlus<span>
Оформление сделана как для студенческой задачи
<span>Если есть вопросы пиши в личку</span></span>
Нужный язык программирования не указан. Наверное, тебе подойдет Си :с
int n, tmp; <em>// переменные для длины массива и временная</em>
int count = 0; <em>// переменная-счетчик для количества перестановок</em>
scanf_s("%d", &n;) <em>// считываем количество элементов в массиве</em>
int arr[n]; <em>// объявляем массив из n элементов</em>
for (int i = 0; i < n; i++) { <em>// формируем массив</em>
scanf_s("%d", arr[i]);
}
for (int i = 0; i < n; i++) { <em>// сравниваем два соседних элемента (j и j+1)</em>
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) { <em> // свапаем элементы местами, если порядок неверный через временную переменную</em>
tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
count++; <em>// увеличиваем счетчик перестановок</em>
}
}
}
ptintf("%d", count); <em> //выводим количество перестановок</em>