Логическая задача - Pascal
Формулировка задачи:
есть K людей и M монет. Найти: сколько получит последний человек монет, если первый взял себе самое большое количество монет но не более половины монет,второй взял самое большое количество монет с тех что остались но не более половины и так далее(каждый следующий брал себе максимально возможное количество монет с того что оставалось но не более половины с тех монет что оставались)
Решение задачи: «Логическая задача»
textual
Листинг программы
var k,m:integer; begin write('k = ');readln(k); write('m = ');readln(m); repeat m:=m-(m div 2); dec(k) until k=1; print(m) end.
Объяснение кода листинга программы
- Объявляются переменные
k
иm
типа integer. - Пользователю выводится строка
k =
, после чего вводится значение переменнойk
. - Пользователю выводится строка
m =
, после чего вводится значение переменнойm
. - Запускается цикл repeat-until, в котором выполняются следующие действия:
- Переменная
m
уменьшается на целую часть от деленияm
на 2. - Переменная
k
уменьшается на 1. - Цикл выполняется до тех пор, пока значение переменной
k
не станет равным 1.
- Переменная
- Выводится значение переменной
m
. Таким образом, код принимает значенияk
иm
от пользователя, выполняет некоторые операции с переменными в цикле и выводит измененное значение переменнойm
после завершения цикла.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д