В двоичном представлении инвертировать все одиночные единицы, кроме старшего бита - Pascal ABC
Формулировка задачи:
В двоичном представлении инвертировать все одиночные единицы, кроме старшего бита.
Решение задачи: «В двоичном представлении инвертировать все одиночные единицы, кроме старшего бита»
textual
Листинг программы
- Program P25;
- Var C : Array [1..31] of integer;
- Var i,n,k,p : integer;
- Begin
- write('n=');
- readln(n);
- for i:=1 to 31 Do C[i]:=0;
- p:=31;
- while (n>0) Do Begin
- k:=n mod 2;
- C[p]:=k;
- p:=p-1;
- n:=n div 2;
- End;
- k:=1;
- while (C[k]=0) Do k:=k+1;
- for i:=1 to 31 Do write(C[i]); writeln;
- for i:=k+2 to 30 Do If (C[i]=1) And (C[i-1]=0) And (C[i+1]=0) then C[i]:=0;
- for i:=1 to 31 Do write(C[i]); writeln;
- k:=0;
- for i:=1 to 31 Do k:=k*2+C[i];
- writeln(k);
- End.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д