В двоичном представлении инвертировать все одиночные единицы, кроме старшего бита - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

В двоичном представлении инвертировать все одиночные единицы, кроме старшего бита.

Решение задачи: «В двоичном представлении инвертировать все одиночные единицы, кроме старшего бита»

textual
Листинг программы
  1. Program P25;
  2.  
  3. Var C       : Array [1..31] of integer;
  4. Var i,n,k,p : integer;
  5.  
  6. Begin
  7.  
  8.     write('n=');
  9.     readln(n);
  10.    
  11.     for i:=1 to 31 Do C[i]:=0;
  12.     p:=31;
  13.    
  14.     while (n>0) Do Begin
  15.        k:=n mod 2;
  16.        C[p]:=k;
  17.        p:=p-1;
  18.        n:=n div 2;
  19.     End;
  20.    
  21.     k:=1;
  22.    
  23.     while (C[k]=0) Do k:=k+1;
  24.  
  25.     for i:=1 to 31 Do write(C[i]); writeln;
  26.  
  27.     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;
  28.  
  29.     for i:=1 to 31 Do write(C[i]); writeln;
  30.  
  31.     k:=0;
  32.  
  33.     for i:=1 to 31 Do k:=k*2+C[i];
  34.    
  35.     writeln(k);
  36.    
  37. End.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.083 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы