197 (игра) — различия между версиями

Материал из ALL
Перейти к: навигация, поиск
(не ситкомом единым)
 
Строка 7: Строка 7:
  
 
Для пущего интереса можно усложнить игру, запретив, например, называть два одинаковых квадрата подряд. В любом случае играть в «197» — одно удовольствие для истинных интеллектуалов.
 
Для пущего интереса можно усложнить игру, запретив, например, называть два одинаковых квадрата подряд. В любом случае играть в «197» — одно удовольствие для истинных интеллектуалов.
 +
 +
== Игра с компьютером ==
 +
Мудрейшему Профу удалось написать сильнейшую компьютерную программу для этой игры. Для игры достаточно установить Паскаль и вбить следующий код:
 +
var h, S, i, c: integer; W: array[1..37] of integer;
 +
label No;
 +
begin
 +
writeln('Добро пожаловать в "197"! Первым ходом пишешь квадрат натурального числа, потом сразу сумму.');
 +
S:=0;
 +
W[1]:=5; W[2]:=10; W[3]:=15; W[4]:=17; W[5]:=20; W[6]:=27; W[7]:=47; W[8]:=50;
 +
W[9]:=55; W[10]:=60; W[11]:=65; W[12]:=67; W[13]:=70; W[14]:=73; W[15]:=78;
 +
W[16]:=88; W[17]:=102; W[18]:=112; W[19]:=125; W[20]:=130; W[21]:=132;
 +
W[22]:=135; W[23]:=140; W[24]:=145; W[25]:=153; W[26]:=158; W[27]:=163;
 +
W[28]:=175; W[29]:=177; W[30]:=180; W[31]:=182; W[32]:=185; W[33]:=187;
 +
W[34]:=190; W[35]:=192; W[36]:=195; W[37]:=197;
 +
  repeat
 +
  No:
 +
  write('Твой ход: ');
 +
  readln(h);
 +
  if (round(sqrt(h-S))=sqrt(h-S)) and (h<197) then S:=h else
 +
  begin
 +
  writeln('Ты неправильно походил, мудила!');
 +
  goto No;
 +
  end;
 +
  i:=38;
 +
  repeat
 +
  i:=i-1;
 +
  for c:=1 to 14 do if S+c*c=W[i] then
 +
    begin
 +
    S:=W[i];
 +
    writeln('Ход компьютера: ', S);
 +
    end;
 +
  until S=W[i];
 +
  until S=197;
 +
writeln('Сасай, лалка!');
 +
readln;
 +
end.
  
 
[[Категория:Игры]]
 
[[Категория:Игры]]

Версия 16:46, 18 марта 2016

197 — гениальнейшая игра, придуманная не менее гениальным Профом. Играют двое. Первый называет квадрат какого-либо натурального числа, второй добавляет к нему ещё один квадрат натурального числа и называет сумму, и т. д. по очереди. У кого получится число 197 — тот и побеждает. Называть число, большее 197, запрещено.

Анализ

При кажущейся простоте игра изобилует множеством вариантов, поэтому просчитать в уме все ходы наперёд могут только люди с IQ=197 и выше. Однако известно, что при наилучшей игре обоих игроков всегда победит второй, поскольку среди множества чисел, ведущих шаг за шагом к победе, нет ни одного квадрата. Например, последние 3 «победных» числа — это 190, 192 и 195. Назвавший одно из них или другое такое число гарантирует себе победу вне зависимости от того, как будет ходить его противник:

  • 190 → 191 → 195 → 196 → 197
  • 190 → 194 → 195 → 196 → 197

Для пущего интереса можно усложнить игру, запретив, например, называть два одинаковых квадрата подряд. В любом случае играть в «197» — одно удовольствие для истинных интеллектуалов.

Игра с компьютером

Мудрейшему Профу удалось написать сильнейшую компьютерную программу для этой игры. Для игры достаточно установить Паскаль и вбить следующий код:

var h, S, i, c: integer; W: array[1..37] of integer;
label No;
begin
writeln('Добро пожаловать в "197"! Первым ходом пишешь квадрат натурального числа, потом сразу сумму.');
S:=0;
W[1]:=5; W[2]:=10; W[3]:=15; W[4]:=17; W[5]:=20; W[6]:=27; W[7]:=47; W[8]:=50;
W[9]:=55; W[10]:=60; W[11]:=65; W[12]:=67; W[13]:=70; W[14]:=73; W[15]:=78;
W[16]:=88; W[17]:=102; W[18]:=112; W[19]:=125; W[20]:=130; W[21]:=132;
W[22]:=135; W[23]:=140; W[24]:=145; W[25]:=153; W[26]:=158; W[27]:=163;
W[28]:=175; W[29]:=177; W[30]:=180; W[31]:=182; W[32]:=185; W[33]:=187;
W[34]:=190; W[35]:=192; W[36]:=195; W[37]:=197;
 repeat
 No:
 write('Твой ход: ');
 readln(h);
 if (round(sqrt(h-S))=sqrt(h-S)) and (h<197) then S:=h else
  begin
  writeln('Ты неправильно походил, мудила!');
  goto No;
  end;
 i:=38;
  repeat
  i:=i-1;
  for c:=1 to 14 do if S+c*c=W[i] then
   begin
   S:=W[i];
   writeln('Ход компьютера: ', S);
   end;
  until S=W[i];
 until S=197;
writeln('Сасай, лалка!');
readln;
end.