Белки спрятали в дупле N орехов. Каждый день они брали половину для себя и своих друзей. Если число орехов было нечетным, то они откладывали один орех в сторону, а остальные делили пополам, причём отложенный орех опять возвращали в дупло. Напишите программу, подсчитывающую, сколько орехов останется в мешке через К дней?

Вопрос школьника по предмету Информатика

Белки спрятали в дупле N орехов. Каждый день они брали половину для себя и своих друзей. Если число орехов было нечетным, то они откладывали один орех в сторону, а остальные делили пополам, причём отложенный орех опять возвращали в дупло. Напишите программу, подсчитывающую, сколько орехов останется в мешке через К дней?

Ответ учителя по предмету Информатика

var n,k,m,i:integer;

begin

write(‘n = ‘);

readln(n);

write(‘k = ‘);

readln(k);

m:=n;

for i:=1 to k do

 m:=(m div 2)+(m mod 2);

writeln(‘m = ‘,m);

end.

Пример:

n = 1000
k = 5
m = 32

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Похожие вопросы от пользователей