Denafasf
10.09.2022 07:49

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи
камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в
одну из куч (по своему выбору) три камня или увеличить количество камней в куче в два раза.
Игра завершается в тот момент, когда суммарное количество камней в кучах становится не менее
52. Победителем считается игрок, сделавший последний ход, т.е. первым получивший такую
позицию, что в кучах всего будет 52 камня или больше. В начальный момент в первой куче было 6
камней, во второй – S камней, 1 ≤ S ≤45.
Определите выигрышная или проигрышная позиция для игрока, делающего первый ход,
если перед игроками лежит: а) 17; б) 20; с) 21 камней.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
daurova2007
18.11.2021 18:27

            Меня зовут Алина . Я родилась седьмого июня двухтысяча первого года. Я живу в России, в городе Нижний Новгород, на проспекте Ленина , дом 30 . Я занимаюсь художественной гимнастикой. У меня очень много друзей.

            Мои родители очень хорошие : мама Лена и папа Юра . Маме 41 год ,а папе 45 лет. Моя мама по профессии провизор ,а папа бизнесмен. Моя мама очень любит свою работу ,а ещё она очень любит маленьких детей, папа любит смотреть телевизор. Мама увлекается плаванием ,а папа ходит в тренажёрный зал.

0,0(0 оценок)
Ответ:
МашаМозг112
07.11.2022 17:11

using System;


class Program

{

private static int GetThird(int num)

{

var result = 0;

var kv = num * num;

if (num % 2 == 0)

{

for (var i = num / 2; i > 0; i--)

{

result += kv - i * 2 + 1;

}

for (var i = 0; i < num / 2; i++)

{

result += kv + i * 2 + 1;

}

}

else

{

for (var i = (num - 1) / 2; i > 0; i--)

{

result += kv - i * 2;

}

result += kv;

for (var i = 0; i < (num - 1) / 2; i++)

{

result += kv + i * 2 + 2;

}

}

return result;

}


//оптимизированное свое решение, коротко и ясно

private static int GetThirdOptimized(int num)

{

var result = 0;

var kv = num * num - num + 1;


for (var i = 0; i < num; i++)

{

result += kv + i * 2;

}


return result;

}


private static void Main()

{

Console.WriteLine("Введите натуральноe числo ");

var i = int.Parse(Console.ReadLine());

Console.WriteLine("{0}^3 = {1} = {2} = {3}", i, i * i * i, GetThird(i), GetThirdOptimized(i));

Console.Read();

}

}

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота