Uses crt;
type mas=array[1..1000] of integer;
var a:mas;
n,i:integer;
procedure gnomesort(var arr:mas; size : Integer);
var i, j, t : Integer;
begin
i := 2;
j := 3;
while i <= size do
begin
if arr[i-1] <= arr[i] then
begin
i := j;
j := j + 1
end
else
begin
t := arr[i-1];
arr[i-1] := arr[i];
arr[i] := t;
i := i - 1;
if i = 1 then
begin
i := j;
j := j + 1
end
end
end;
end;
begin
write('Размер массива n=');
read(n);
writeln('Исходный массив:');
for i:=1 to n do
read(a[i]);
writeln;
gnomesort(a,n);
writeln('Результат сортировки:');
for i:=1 to n do
write(a[i],' ');
end.
1) 1*2^6+1*2^5+0*2^4+0*2^3+1*2^2+1*2^1+0*2^0=64+32+0+0+4+2+0=102
2)012 = 0∙21+1∙20 = 0+1 = 110
156/2=78 (0)
78/2=39 (0)
39/2=19 (1)
19/2=9 (1)
9/2=4 (1)
4/2=2 (0)
2/2=1 (0)
1/2=0 (1)
Остатки от деления записываем в обратном порядке.Получаем: 10011100
156=10011100 (2)
Ответ: 4.
Развёрнутый ответ (решение) на всякий случай :)
Var a:integer;
begin
readln(a);
if a mod 2=0 then a:=a*a
else a:=a*a*a;
writeln('a = ',a);
end.
Пример:
18
<span>a = 324</span>