Язык PASCALABC
Чемпионат по шашкам
Ограничение времени
1 секунда
Ограничение памяти
64Mb
Ввод
стандартный ввод или input.txt
Вывод
стандартный вывод или output.txt
Чемпионат Берляндии по стодвадцатиодноклеточным шашкам среди школьников планируется провести по «нокаут-системе», то есть после каждой партии проигравший прекращает выступление в чемпионате, а победитель проходит дальше (по правилам стодвадцатиодноклеточных шашек ничьи невозможны). После того, как остаётся один участник, турнир завершается и оставшийся участник объявляется чемпионом.
Напишите программу, которая вычисляет, какое наименьшее количество партий потребуется провести для того, чтобы определить победителя, если в соревновании приняло участие N школьников.
Формат ввода
На вход подаётся одно целое число N (2 ≤ N ≤ 106) — количество школьников, принявших участие в чемпионате.
Формат вывода
Ваша программа должна вывести одно целое число — наименьшее количество партий, которое потребуется сыграть для определения победителя.
Пример
Ввод
Вывод
3
2
Примечания
Решением к данной задаче является программа, написанная на одном из представленных в системе языков программирования. Программа должна считывать данные со стандартного потока ввода (иначе говоря, «с клавиатуры») и выводить ответ в стандартный вывод (иначе говоря, «на экран»).
Выводить лишние символы (исключая пробелы и переводы строк) недопустимо, то есть если вместо ответа будет выведен ответ и после него (или перед ним) какое-то лишнее число или строка, то система ответ не зачтёт.
Ответы
Ответ дал:
0
begin
write (readinteger-1);
end.
write (readinteger-1);
end.
Ответ дал:
0
Эм?
Ответ дал:
0
//FPC 2.6.4
var i, n: integer;
begin
i:=0;
readln (n);
repeat
i:=i+(n div 2);
n:=n-(n div 2);until n=1;
write (i);
end.
var i, n: integer;
begin
i:=0;
readln (n);
repeat
i:=i+(n div 2);
n:=n-(n div 2);until n=1;
write (i);
end.
Ответ дал:
0
//PascalABC
var n: integer;
begin
read(n);
write(n - 1)
end.
=====================================================
Понятно, что с каждой сыгранной партией прекращает свое участие ровно один игрок. Победитель определен, когда из n остается только 1 участник. Значит (n - 1) участников прекратили свое участие. А это возможно, только если было сыграно также (n - 1) партия.
var n: integer;
begin
read(n);
write(n - 1)
end.
=====================================================
Понятно, что с каждой сыгранной партией прекращает свое участие ровно один игрок. Победитель определен, когда из n остается только 1 участник. Значит (n - 1) участников прекратили свое участие. А это возможно, только если было сыграно также (n - 1) партия.
Вас заинтересует
6 лет назад
8 лет назад
8 лет назад
9 лет назад