Перевести задачу на спички с Pascal - C#
Формулировка задачи:
program v3; var a,b,c,k,p,n,m:integer; begin write('введите число спичек '); read(n); write('сколько можно брать спичек за ход? '); read(m); while p=0 do begin while c=0 do begin writeln(); write('тяните спички '); read(a); if a < 1 then c:=0 else c:=1; if a > m then c:=0 else C:=1; end; c:=0; n:=n-a; if n<=0 then p:=1; if p=0 then begin writeln('спичек осталось: ',n); if n mod (m+1) <> 0 then begin for k:=1 to m do if (n-k) mod (m+1) = 0 then b:=k; end else b:=random(m)+1; writeln('компьютер взял ',b); n:=n-b; if n=0 then p:=2; writeln('спичек осталось ',n); end; writeln(); end; case p of 1: writeln ('Вы победили!'); 2: writeln ('Победа компьютера'); end; end.
Решение задачи: «Перевести задачу на спички с Pascal»
textual
Листинг программы
class Program { static void Main(string[] args) { int a = 0, b = 0, c = 0, p = 0, n, m; Console.Write("введите число спичек "); n = Console.Read(); Console.Write("сколько можно брать спичек за ход?"); m = Console.Read(); while (p == 0) { while (c == 0) { Console.WriteLine(); Console.WriteLine("тяните спички "); a = Console.Read(); if (a < 1) c = 0; else c = 1; if (a > m) c = 0; else c = 1; } c = 0; a = 0; n -= a; if (n <= 0) p = 1; if (p == 0) { Console.WriteLine("спичек осталось: ", n); if (n % (m + 1) != 0) { for (int k = 1; k <= m; k++) { if ((n - k) % (m + 1) == 0) b = k; } } else { Random random = new Random(); b = random.Next(0, m) + 1; } Console.WriteLine("компьютер взял '", b); n -= b; if (n == 0) p = 2; Console.WriteLine("спичек осталось ", n); } Console.WriteLine(); switch (p) { case 1: Console.WriteLine("Вы победили!"); break; case 2: Console.WriteLine("Победа компьютера"); break; } Console.ReadKey(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д