1. Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в кучу три камня или увеличить количество камней в куче в два раза. Например, имея кучу из 15 камней, за один ход можно получить кучу из 18 или 30 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней. Игра завершается в тот момент, когда количество камней в куче становится не менее 33 Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 33 или больше камней. В начальный момент в куче было S камней, 1 ≤ S ≤ 32 1 При каких S: 1а) Петя выигрывает первым ходом; 1б) Ваня выигрывает первым ходом? 2 Назовите три значения S, при которых Петя может выиграть своим вторым ходом? 3 При каком S Ваня выигрывает своим первым или вторым ходом? 2. Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча
камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может
добавить в кучу четыре камня или увеличить количество камней в куче в два раза.
Например, имея кучу из 15 камней, за один ход можно получить кучу из 19 или 30
камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество
камней. Игра завершается в тот момент, когда количество камней в куче становится
не менее 35 Победителем считается игрок, сделавший последний ход, то есть
первым получивший кучу, в которой будет 35 или больше камней.
В начальный момент в куче было S камней, 1 ≤ S ≤ 34
1 При каких S: 1а) Петя выигрывает первым ходом; 1б) Ваня выигрывает первым
ходом?
2 Назовите три значения S, при которых Петя может выиграть своим вторым
ходом.
3 При каком S Ваня выигрывает своим первым или вторым ходом?
Программа:
C++:
Вариант 1)
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int day;
cout << "Введите число от 1 до 7: "; cin >> day;
switch(day)
{
default:
cout << "Введите число от 1 до 7!";
break;
case 1:
cout << "Рабочий день";
break;
case 2:
cout << "Рабочий день";
break;
case 3:
cout << "Рабочий день";
break;
case 4:
cout << "Рабочий день";
break;
case 5:
cout << "Рабочий день";
break;
case 6:
cout << "Выходной день";
break;
case 7:
cout << "Выходной день";
break;
}
}
Вариант 2)
#include <iostream>
using namespace std;
int main()
{
int day;
cout << "Введите число от 1 до 7: "; cin >> day;
if (day > 0 and day < 8) {
if (day == 6 or day == 7) { cout << "Выходной день"; }
else { cout << "Рабочий день"; }
}
else { cout << "Введите число от 1 до 7! "; }
}