Гра в камінчики Є купка з 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
Не нашли ответ?
Похожие вопросы