На день рождения Карлсона Малыш принёс в подарок большой пакет с конфетами. Малыш понимал, что никакой справедливости при разделе конфет от Карлсона
10-11 класс
|
ожидать не стоит. Поэтому он придумал игру, в которой ему обязательно должна достаться последняя конфета, а если повезёт, то и больше.Правила игры очень просты. Карлсон из общего пакета выделяет K конфет (K никак не меньше 3, но и, пожалуй, не больше 100000000). Играющие по очереди берут конфеты из кучки, причём за один ход каждый из них может взять от 1 до L конфет. Понятно, что первым ходить будет Карлсон, но он благородно уступил Малышу право определить максимальное число конфет L (2<=L<K), которое может взять игрок за один ход (в течение игры L не меняется). Малыш будет в выигрыше, если ему удатся взять последнюю конфету. Необходимо написать программу, которая помогла бы Малышу делать свой выбор числа L таким образом. чтобы последняя конфета всегда доставалась ему. Другими словами, по заданному числу конфет в кучке K необходимо определить такое число L, которое гарантирует Малышу хоть одну конфету. Так, например, если в кучке всего три конфеты, то победу Малышу обеспечивает выбор L=2. В самом деле, если Карлсон своим ходом заберёт одну конфету, то Малыш, взяв обе оставшихся конфеты, выиграет и, напротив, если Карлсон возьмёт две конфеты, что более вероятно, то Малышу достанется последняя конфета.Входные данные: Вход для этой задачи состоит из одной строки, в которой записано единственное число K - количество конфет в кучке, выбранное Карлсоном.Выходные данные: На выход следует записать единственное число L - максимальное число конфет, которое можно взять за один ход - обеспечивающее победу Малышу. Если таких чисел несколько, то следует вывести наименьшее из них. если таких чисел нет, то следует вывести число 0.Для проверки:Вход: 3; Выход: 2Вход: 7; Выход: 6Язык программирования: Pascal
Ну так, вводим K, L:=K-1; выводим L. Тогда всегда остается последняя конфета
var K: integer;
begin
read(k);
writeln(k-1);
end.
Другие вопросы из категории
Разработать схему алгоритма для решения этой задачи. Протестировать алгоритм на числах 5.5 и -4.3, а также на числах 1 и 14.5.
Паскаль. Не массив
потратил на перекладывание в банку. На каждую следующую рыбку он затратил времени больше на 5%, чем на предыдущую. Сколько времени он потратил на переселение рыб?
Читайте также
можно составить вариантов расписания на день,зная,что информатика - первый урок?
мальчиков. Сколько пришло девочек?
Составить программу вычисления функции:
Y= ((x+1)^2+2(x+1))/4
рассчитать для x=3.
занимала объем 810 бит. открытка пятачка Занимала 852 бита и содержала 213 символов. чей алфавит содержит больше символов ?помогите очень прошу
двумя способами:
А) сжать архиватором, передать архив по каналу связи, распаковать;
Б) передать по каналу связи без использования архиватора.
Какой способ быстрее и на сколько, если:
• скорость передачи данных по каналу связи составляет 221 бит/с;
• объём сжатого архиватором документа равен 50 % от исходного;
• время, требуемое на сжатие документа, – 10 секунд, на распаковку –
3 секунды?
В ответе напишите букву А, если быстрее способ А, или Б, если быстрее
способ Б. Сразу после буквы напишите число, обозначающее, на сколько
секунд один способ быстрее другого.
Так, например, если способ Б быстрее способа А на 23 секунды, в ответе
нужно написать Б23.
Единицы измерения «секунд», «сек.», «с» к ответу добавлять не нужно.
хранится и одна страница машинописного текста примерно занимает 2,5 Кбайт), если:
Ёмкость (объём) дискеты: 1,2 Мб
Строк на странице: 40
Символов с строке: 60