начало
делим на 2
есть остаток нет остатка
возводим в куб возводим в кводрат
конец
на языке pascal цикл с постусловием имеет следующий вид: :
repeat < тело цикла> until < условие выхода>на языке си:
do { < тело цикла> } while (< условие продолжения цикла> )в трактовке условия цикла с постусловием в разных языках есть различия. в паскале и языках, произошедших от него, условие такого цикла трактуется как условие выхода (цикл завершается, когда условие истинно, в терминологии такие циклы называют ещё «цикл до»), а в си и его потомках — как условие продолжения (цикл завершается, когда условие ложно, такие циклы иногда называют «цикл пока»).
Поделитесь своими знаниями, ответьте на вопрос:
Водной из версий цивилизованной стратегической игры количество денег выражается целым знаковым 32-битным числом. после поражения от сильного противника игрок вася потерял все деньги и получил следующий ультиматум: он должен отдать ещё 1 золотой на первом ходу. если он не отдаст, то на втором ходу он должен дополнительно будет отдать n золотых (то есть общий долг станет равным n + 1 ), на каждом следующем ходу начисляемая дополнительно сумма также увеличивается в n раз, то есть в начале третьего хода вася будет должен n 2 + n + 1 и так далее. вася уже собрался было продать какую-нибудь постройку и заплатить один золотой, но его сестра катя заметила, что если вася подождёт какое-то время, то на очередном ходу долг станет отрицательным и васей цивилизация даже заработает на этом инциденте. какое наименьшее количество ходов должен подождать вася, чтобы прогноз кати сбылся. формат ввода входные данные содержат одно целое число n ( 2 ≤ n ≤ 1 0 0 0 ) — коэффициент роста долга. гарантируется, что входные данные подобраны так, что ответ всегда существует. формат вывода выведите одно целое число — минимальное количество ходов, после которых прогноз кати сбудется. формат вывода выведите одно целое число — минимальное количество ходов, после которых прогноз кати сбудется. пример 1 ввод 2 вывод 32 пример 2 ввод 3 вывод 22
program A;
var x,n,k,e,f:real;
begin
f:=1024*1024*1024 ;
read (n);
e:= 0;
x:=0;
k:=1;
repeat
x:=x+k;
k:=k*n;
e:=e+1;
until (x>=f*2);
writeln (e);
end.