Untitled
user_1066898782
pascal
4 years ago
687 B
30
Indexable
var n, i, k, a, b: Integer; s:string; procedure Swap(var X, Y: char); var Temp: char; begin Temp := X; X := Y; Y := Temp; end; begin readln(n); for i:=1 to n div 2 do s:=s+'0'; for i:=1 to n div 2 do s:=s+'1'; repeat writeln(s); i:=n-1; while (i>0) and (s[i]>=s[i + 1]) do dec(i); if i>0 then begin k:=n; while s[k] <= s[i] do dec(k); Swap(s[k],s[i]); a:=i+1; b:=n; while a<b do begin Swap(s[a],s[b]); Inc(a); Dec(b); end; end; until i=0; end.
Editor is loading...