وعليكم السلام اخي
اليك الحل بلغة الباسكال يمكنك تحويله الى خوارزمية
كود PHP:
Program Untitled;
var T:Array[1..5000]of integer;
z,i,n:integer;
begin
for i:= 1 to 5000 do
T[i]:=i;
Z:=2;i:=1;
n:=5000;
While n >=1 do
begin
T[i]:=T[Z];
i:=i+1;Z:=z+2;
if Z>n then
begin
i:=1;z:=2;
n:=n div 2;
end;
end;
Write(T[1]);
readln;
end.
بالتوفيق