Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в кучу один камень или увеличить количество камней в куче в четыре раза. Например, имея кучу из 10 камней, за один ход можно получить кучу из 11 или 40 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней. Игра завершается в тот момент, когда количество камней в куче становится не менее 81. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 81 или больше камней. В начальный момент в куче было S камней, 1 ≤ S ≤ 80.
1. При каких S: 1а) Петя выигрывает первым ходом; 1б) Ваня выигрывает первым ходом?
2. Назовите два значения S, при которых Петя может выиграть своим вторым ходом. 3. При каком S Ваня выигрывает своим первым или вторым ходом?
var j, a, b, n: integer;
label 1;
begin
1: randomize;
a: = random (9);
b: = random (9);
write (a, '*', b, '=');
read (n);
if n = (a * b) then writeln ('відповідь вірний! ')
else writeln ('відповідь неправильний! ');
writeln ('продовжуватимеш? ');
writeln ('якщо так то натисни 1');
writeln ('якщо немає то натисни 2');
read (j);
if j = 1 then goto 1;
if j = 2 then writeln ('до побачення! ');
end.
начебто так, точно не пам'ятаю.
//Pascal ABC.NET v3.0 сборка 1111
var
a,i,b,r,n,j,bug:integer;
s,se,slo,slof:string;
procedure preob(var a,b,n:integer; var se:string);
begin
repeat
b:=a mod n;
a:=a div n;
str(b,se);
s+=se;
until (a<=n-1);
end;
beginreadln(slo);
readln(n);
for j:=1 to length(slo) do
begin;
a:=ord(slo[j]);
preob(a,b,n,se);
str(a,se);
s+=se;
for i:=1 to length(s) div 2 do
begin;
se:=s[i];
s[i]:=s[length(s)-i+1];
s[length(s)-i+1]:=se[1];
end;
write(s,'-');
slof:=slof+s;
delete(s,1,length(s));
end;
end.
Пример ввода:
Домашняя работа на завтра.
2
Пример вывода:
11000100-11101110-11101100-11100000-11111000-11101101-11111111-11111111-100000-11110000-11100000-11100001-11101110-11110010-11100000-100000-11101101-11100000-100000-11100111-11100000-11100010-11110010-11110000-11100000-101110-
{Таким образом, фразу "Домашняя работа на завтра." можно закодировать как "11000100-11101110-11101100-11100000-11111000-11101101-11111111-11111111-100000-11110000-11100000-11100001-11101110-11110010-11100000-100000-11101101-11100000-100000-11100111-11100000-11100010-11110010-11110000-11100000-101110-".}