Проверка симметричности двоичного представления числа (программа Паскаль)

anystti anystti    1   16.04.2019 23:00    0

Ответы
ЧОПОЧНИК ЧОПОЧНИК  16.04.2019 23:00
var
  a, b,i,m,n,d,j : integer;
  s:string;
  log:boolean;
  input,output:text;
  begin
  assign(input,'input.txt');
 reset(input);
 read(input,a,b);
 close(input);
 assign(output,'output.txt');
 rewrite(output);
 for i:=a to b do
    begin
     m:=i;
     s:='';
     while m>0 do begin     //    переводим число в строковой формат
       s:=inttostr(m mod 2)+s;
       m:=m div 2;
     end;
    n:=length(s);
    log:=true;
    for j:=1 to n div 2 do
    if log and(s[j]<>s[n-j+1]) then  log:=false;     //          число не симметричное
    if log then write(output,i,' ');        //   если число симметричное, то выводим его
  end;
 close(output);
end.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Другие предметы