197 (игра) — различия между версиями
Проф (обсуждение | вклад) (не ситкомом единым) |
Проф (обсуждение | вклад) |
||
Строка 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.