//PascalABC.Net 3.0, сборка 1064
var
a:array[1..7] of integer;
i:integer;
begin
Randomize;
Write('Исходный массив: ');
for i:=1 to 6 do begin
a[i]:=Random(20);
Write(a[i],' ')
end;
Writeln;
for i:=6 downto 3 do a[i+1]:=a[i];
Write('Введите значение вставляемого элемента: '); Read(a[3]);
Write('Результирующий массив: ');
for i:=1 to 7 do Write(a[i],' ');
Writeln
end.
<em><u>Тестовое решение:</u></em>
Исходный массив: 8 2 5 0 6 17
Введите значение вставляемого элемента: -5
Результирующий массив: 8 2 -5 5 0 6 17
a = "1"
b = "2"
n = 3
(a + b) * n = "12"*3 = "121212"
a*n + b*n = "1"*3 + "2"*3 = "111222"
#include <iostream>
using namespace std;
int main(){
setlocale(LC_ALL, "Russian");
int a;
cout<<"Введи размерность"<<endl;
cin>>a;
int arr[a+1][a+1];
for (int i=1; i<a+1; ++i)
for(int j=1; j<a+1; ++j)
arr[i][j]=i*j;
for (int i=1; i<a+1; ++i) {arr[i][0]=i;arr[0][i]=i;}
cout<<" ";
for (int i=1; i<a+1; ++i){cout<<arr[i][0]<<" ";}
cout<<endl;
for (int i=1; i<a+1; ++i){
for(int j=0; j<a+1; ++j)
cout<<arr[i][j]<<" ";
cout<<endl;
}
return 0;
}
_____
Т.к. в условии про оформление ничего не сказано, то сделал самое обычное
Разделим пазл на квадраты размера 2x2. Заметим, если в каком-нибудь квадрате Маша вынет хотя бы 3 кусочка, то гарантированно найдётся пара кусочков, которые можно состыковать. Значит, в худшем случае она вытащит не более половины всех кусочков, прежде чем появятся соседние. Как так может получиться, показано на рисунке.
Чтобы гарантированно найти пару кусочков, которые состыкуются правильно, ей надо вынуть 18 * 24 / 2 + 1 = 216 + 1 = 217 кусочков.
GIF, JPEG, PNG, и WebP-форматы у изображения