AZ

Số đảo ngược
Cho số nguyên A biểu diễn trong hệ thập phân có dạng a 1 a 2 …a N-1 a N . Ta gọi số nguyên A* mà
biểu diễn trong hệ thập phân có dạng a N a N-1 …a 2 a 1 (Có đúng N chữ số có nghĩa) là số đảo ngược
của A. Ta có thể định nghĩa tương tự như trên đối với số đảo ngược của một số trong hệ nhị phân.
Yêu cầu: Cho trước số nguyên dương K. Hãy tìm số lượng các số nguyên không âm A thoả mãn
A ≤ K và biểu diễn trong hệ nhị phân của A và A* là hai số đảo ngược của nhau.
Dữ liệu vào từ file văn bản: ‘daonguoc.INP’
Số K (K≤1000)
Dữ liệu ra ghi ra file văn bản: ‘daonguoc.OUT’
Số S là số lượng các số tìm được.
Ví dụ:

daonguoc.INP daonguoc.OUT
7                        5

(Giải thích: Với K = 7 Ta tìm được 5 số, đó là các số: 0, 1, 3, 5, 7)

TH
29 tháng 1 2022 lúc 9:51

Viết bằng pascal dc k

 

Bình luận (1)
TH
29 tháng 1 2022 lúc 11:58

Var k,i,t:longint;
Function kt(n:longint):boolean;
Var s,x:string;
    d,m,j:longint;
Begin
s:=''
x:=''
j:=0;
d:=0;
 While n<>0 do
  Begin
   d:=n mod 2;
   n:=n div 2;
   Str(d,s);
   x:=x+s;
   j:=length(x)
  end;
s:=x;
For m:=1 to j do
 x[m]:=x[j-m+1];
If s=x then Exit(True) else Exit(False);
end;
Begin
{$ifndef online_JUDGE}
Assign(input,'standard.inp');
 Reset(input);
Assign(output,'standard.out');
 Rewrite(output);
{$endif}
Read(k);
For i:=1 to k+1 do
 Begin
  If kt(i-1) then inc(t);
 end;
Write(t);
end.

 

Bình luận (0)

Các câu hỏi tương tự
NL
Xem chi tiết
HC
Xem chi tiết
HC
Xem chi tiết
H24
Xem chi tiết
MC
Xem chi tiết
KN
Xem chi tiết
HT
Xem chi tiết
PH
Xem chi tiết
VK
Xem chi tiết