бит б 1
байт Б 8 бит
килобит кбит (кб) 1 000 бит
килобайт КБайт (KБ) 1024 байта
мегабит мбит (мб) 1 000 килобит
мегабайт МБайт (МБ) 1024 килобайта
гигабит гбит (гб) 1 000 мегабит
гигабайт ГБайт (ГБ) 1024 мегабайта
Алгоритм выигрыша в этой игре очень простой: каждый раз надо забирать из кучки 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
Ответ: 11212
Заменим команды на обратные:
1. раздели на 2
2. прибавь 1
Пойдем от большего числа:
13 на 2 нацело не делится, следовательно:
13 + 1 = 14 (2)
14 на 2 делится нацело, следовательно:
14 / 2 = 7 (1)
7 на 2 нацело не делится , следовательно:
7 + 1 = 8 (2)
8 на 2 делится нацело, следовательно:
8 / 2 = 4 (1)
4 на 2 делится нацело, следовательно:
4 / 2 = 2 (1)
Запишем в прямом порядке с исходными командами:
2*2=4 (1)
4*2=8 (1)
8-1=7 (2)
7*2=14 (1)
14-1=13 (2)
Pascal:
program decrement;
var
i: integer;
begin
i := 50;
while i >= 1 do
begin
if i mod 2 = 1 then
writeln(i, ' ');
i := i - 1;
end;
end.
---
C++:
#include <iostream>
int main() {
int i = 50;
while (i >= 1) {
if (i % 2 == 1)
std::cout << i << ' ';
i--;
}
return 0;
}