Гра в камінчики Є купка з N камінчиків. Грають двоє. За один хід потрібно взяти не менше одного і не більше M камінців. Програв той, хто не зміг зробити хід. Скільки камінців взяли б Ви, якщо розраховуєте на виграш і ходите пер...

Гра в камінчики Є купка з N камінчиків. Грають двоє. За один хід потрібно взяти не менше одного і не більше M камінців. Програв той, хто не зміг зробити хід. Скільки камінців взяли б Ви, якщо розраховуєте на виграш і ходите першим або 0, якщо шансів на виграш немає? Вхідні дані - 7 4 Значення N і M (1 ≤ N, M ≤ 1000). Вихідні дані - 2
Гость
Ответ(ы) на вопрос:
Гость
Алгоритм выигрыша в этой игре очень простой: каждый раз надо забирать из кучки M+1 камешек. Следовательно, первым ходом надо забрать количество камешков, равное остатку от целочисленного деления N на М+1, а затем в каждый последующий ход забирать столько камешков, чтобы оставшееся их число было кратно M+1. Ниже приведено решение на языке Borland Pascal 7.01 uses Crt; var   N,M,k:integer; begin   ClrScr;   Write('N,M='); Read(N,M);   k:=N mod (M+1);   Writeln(k);   ReadKey end. Тестовое решение: N,M=7 4 2
Не нашли ответ?
Ответить на вопрос
Похожие вопросы