#include <iostream>
using namespace std;
int main()
{
int a[12] = {}, b = 100;
for(int i = 0; i < 12; i++) {
cout << "Input a[" << i << "]: ";
cin >> a[i];
if ((a[i] % 2 == 1) && (a[i] > 0) && (9 < a[i]) && (a[i] < 100) && (a[i] < b))
b = a[i];
}
if (b == 100) {
cout << "Numbers do not satisfy the condition";
return 1;
}
else cout << "The given number is " << b;
return 0;
}
//Так как Tab'ы временно не сохраняются в редакторе, прилагаю .cpp файл. Язык С++
10
Объяснение:
Смотри вложение. Клетки: [B], [S] робот пройдёт более 2-х раз -> эти клетки не подойдут под условие. Почему? Потому что каждый цикл робот смещается на 3 клетки влево – через [B], в каждом цикле, робот уже проходит 2 раза, а в следующем цикле он делает это ещё раз, тем самым проваливая условие для данной клетки; [S] – аналогично, поскольку робот, в каждом цикле, пересечёт данную клетку, выходя из клетки [F] в клетку [G].
Для простоты, приведу список клеток из 2 цикла:
[G] станет [S];
[A] станет [B];
[C] станет [D];
[B] станет [E];
[S] станет [F].
Во втором цикле [G] левее на 3 клетки, а её позицию из 1 цикла, теперь, занимает клетка [S].
Нетрудно понять, что ровно 2 раза робот пройдёт только по клетке [C] – [C] станет [D] и больше не будет пройдена роботом.
Остальные клетки робот пройдёт более или менее 2 раз.