shuttse
?>

Исполнитель перемещается вдоль ленты, состоящей из 10 ячеек. Ячейка может быть пустой(0) или заполненной (1 Система команд исполнителя: - вправо – переместиться вправо на 1 ячейку; - влево – переместиться влево на 1 ячейку; - 1 – поместить в ячейку 1; - 0 – поместить в ячейку 0; - повтори N [команды] – N раз повторить команды, записанные в скобках; - если 1 – если ячейка заполнена, то вправо, иначе 1; - стоп - прекращение действий. Исходное состояние ленты: Исполнитель находится в крайней левой ячейке. Определите состояние ленты после выполнения программы: повтори 5 [если 1; вправо] стоп (ответ запишите в виде последовательности из десяти нулей и един

Информатика

Ответы

helenavalenti2846

#include <iostream>

typedef long long   ll;

using namespace std;

bool ll_is_valid(ll t, ll N, ll x, ll y)

{

return  t / x + (t - x) / y >= N;

}

ll f(ll N, ll x, ll y)

{

   ll R = 1;

   while (!ll_is_valid(R,N,x,y)) R *= 2;

ll L = R / 2;

while(R - L > 1)

{

 ll M   =   (L + R) / 2;

 

 if (!ll_is_valid(M,N,x,y)) {L = M;}

 else {R = M;}

}

return  R;

}

int  main()

{

ll N,x,y;

cin >> N >> x >> y;

if(x > y) swap( x, y );  

cout << f(N, x, y) <<  std::endl;

}

Petrakova Ilyushin

var

 FD: text;

 y, step, first, last: real;

begin

 write('Введите начальное значение, конечное значение и шаг:');

 read(first, last, step);

 assign(FD, 'tabl.txt');

 rewrite(FD);

 writeln(FD, 'x':4, 'f(x)':10);

 while (first <= last) do

 begin

   if (first.Between(0.41, 0.58)) then  

     writeln(FD, first:4:2, 'infinity':10)

   else  

   begin

     y := (2 * first + 1) / (2 * first - 1);

     writeln(FD, first:4:2, y:10:4);

   end;

   first := first + step;

 end;

 close(FD);

end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Исполнитель перемещается вдоль ленты, состоящей из 10 ячеек. Ячейка может быть пустой(0) или заполненной (1 Система команд исполнителя: - вправо – переместиться вправо на 1 ячейку; - влево – переместиться влево на 1 ячейку; - 1 – поместить в ячейку 1; - 0 – поместить в ячейку 0; - повтори N [команды] – N раз повторить команды, записанные в скобках; - если 1 – если ячейка заполнена, то вправо, иначе 1; - стоп - прекращение действий. Исходное состояние ленты: Исполнитель находится в крайней левой ячейке. Определите состояние ленты после выполнения программы: повтори 5 [если 1; вправо] стоп (ответ запишите в виде последовательности из десяти нулей и един
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

zolotayaoxana1982
filantropagv4
Dmitrii sergei463
Nikolai_oksana
dmitrij-sp7
valya-7777
Igorevich1512
izumrud153
tigo1
Dmitrievich1871
skrepka397412
olg14855767
NIKOLAI
Александровна1244
happych551