Отримання знань

дистанційна підтримка освіти школярів


Тут ви можете виконати завдання чи задати питання по змiсту цього уроку.

1 (1) 2014-08-26 15:49:30
Інверсія. Варіант 1.
-----------------------
{Invers1}
const
max=1000;
var
a:array[1..max] of byte;
c:byte;
i,t,k:longint;
begin
Read(k);
a[1]:=1;
t:=1;
while t i:=t+1;
while (i<=2*t)and(i<=k) do begin
a[i]:=1-a[i-t];
i:=i+1;
end;
t:=2*t;
end;
c:=a[k];
WriteLn(c);
end.
====================================
Інверсія. Варіант 2.
-----------------------
{Invers2}
var
c,ck,k,p:longint;
function Step2(x:longint):longint;
var
n,z:longint;
begin
n:=1;
while n Step2:=n div 2;
end;
begin
Read(k);
ck:=k;
c:=1;
while ck>1 do begin
p:=Step2(ck);
ck:=ck-p;
c:=1-c;
end;
WriteLn(c);
end.
1 (1) 2014-08-26 16:17:23
Запитання

1. Якщо інверсна послідовність починається з нуля, то що буде на n-ому місці?
--------------------------
Протилежне тому, що стоїть на n-му місці в послідовності що починається з одиниці.
==========================
2. Чи може в цій послідовності стояти підряд 3 одиниці? (3 нулі)?
---------
Ні, не може.
==========================
3. Розробити алгоритм до наступної задачі:
--------------------------
{Invers3}
{->7-->9-->5->}
var
c,ck,k,p:longint;
function Step2(x:longint):longint;
var
n,z:longint;
begin
n:=1;
while n Step2:=n div 2;
end;
begin
Read(k);
ck:=k;
c:=7;
while ck>1 do begin
p:=Step2(ck);
ck:=ck-p;
if c=7 then c:=9
else if c=9 then c:=5
else if c=5 then c:=7;
end;
WriteLn(c);
end.

Повернутися до уроку

Повернутися до перелiку уроків курсу

В системі: гості - (); користувачі - (0)