Объясните ! (через pascal abc)

по данному натуральному числу n выведите такое наименьшее целое число k, что 2k≥n.

операцией возведения в степень пользоваться нельзя!

я нашла решение в интернете :

var k, n, p: integer;

begin

readln (n) ;

p: =1;

while p begin

p: =p*2;

k: =k+1;

end;

writeln (k) ;

end.

но я не понимаю, почему там умножают на 2 и зачем плюс 1 и вообще что за что принимается, !

DerekHale23 DerekHale23    3   01.02.2020 20:04    22

Ответы
Nikita4539 Nikita4539  02.02.2020 07:03

объяснение:

//я так понял это :

твое решение скорее всего неверно. вот вообщем написал программу для решение данной :

var

  k, n: integer;

begin

  readln(n);   //вводим число n

  k : = 1;   //   k присвоил наименьшее

  repeat

    k : = k*2;   //умножение на 2 идет из условия 2*k> =n

  until k> =n ;

  writeln(k)  

end.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика