jsjdnnx
06.08.2022 20:32

Нарисуйте различные начальные обстановки для проверки данного условия.


Нарисуйте различные начальные обстановки для проверки данного условия.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
сафаралиев
15.03.2022 06:38
Const n=20;
type omas=array[1..n] of integer;
Procedure Del (var z:omas; k:byte); 
var i:byte; 
begin 
for i:=k to n-1 do z[i]:=z[i+1]; 
z[n]:=0; 
end; 
var a:omas; i,b:integer;
begin
Randomize;
for i:=1 to n do
 begin
 a[i]:=random(20);
 write(a[i]:4);
 end;
writeln;
b:=6;
i:=1;
while (i<=n)and(a[i]<>b) do i:=i+1;
if i<=n then
  begin
  Del(a,i);
 writeln('Размерность массива = ',n-1);
 for i:=1 to n-1 do write(a[i]:4);
 writeln;
 end  else writeln('Массив не изменился');
end.
Пример:
  12  13   6   7  17   1  18  17   3   2  12   3  16   6   7  13   0   2   5  18
Размерность массива = 19
  12  13   7  17   1  18  17   3   2  12   3  16   6   7  13   0   2   5  18
0,0(0 оценок)
Ответ:
Киса11111112
02.03.2021 03:22
Вариант №1 (не совсем удачный, как было отмечено в комментариях).

//PascalABC.NET (версия 3.1, сборка 1210 от 29.03.2016)
var n,i,m:integer;
flag:boolean;

begin
  readln(n);
  flag:=false;
  if (n mod 2<>0)then i:=n-1 else i:=n;
  while i>0 do begin  
    if power(2,i)<=n then begin
      write(power(2,i),' '); flag:=true;
    end;
    i:=i-2;
end;
if not flag then writeln(0);
end.

Тест №1
1025
1024 256 64 16 4

Тест №2
1
0

Вариант №2

var a,i,n: integer;
begin
  a:=1;readln(n);
  i:=trunc(log2(n)); //получим степень двойки для n
  //если i нечетное,
  //то первое искомое число получаем путем сдвига влево на i-1 в
  //двоичном представлении числа иначе сдвиг на i
  if (i mod 2)=1 then a:=a shl(i-1) else a:=a shl i;
  //далее получаем числа сдвигая вправо на 2 разряда
  //в двоичном представлении числа
  while a>=2 do begin
    write(a,' ');
    a:=a shr 2;
  end;
end.

Тестовое решение:
2147483647
1073741824 268435456 67108864 16777216 4194304 1048576 262144 65536 16384 4096 1024 256 64 16 4
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота