Объясните ! (через 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 и вообще что за что принимается, !
объяснение:
//я так понял это :
твое решение скорее всего неверно. вот вообщем написал программу для решение данной :
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.