Гра в камінчики є купка з n камінчиків. грають двоє. за один хід потрібно взяти не менше одного і не більше m камінців. програв той, хто не зміг зробити хід. скільки камінців взяли б ви, якщо розраховуєте на виграш і ходите першим або 0, якщо шансів на виграш немає? вхідні дані - 7 4 значення n і m (1 ≤ n, m ≤ 1000). вихідні дані - 2

Irinaytsn Irinaytsn    3   01.07.2019 22:00    5

Ответы
yorik555 yorik555  26.07.2020 08:25
Алгоритм выигрыша в этой игре очень простой: каждый раз надо забирать из кучки 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
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика