pascal类似全排列的问题

来源:百度知道 编辑:UC知道 时间:2024/05/25 14:55:47
废话不多说:急用!!!!!
如题:类似全排列,但不是全排列,用0、1表示组合例如:
输入3
输出的是
000 001 010 011 100 101 110 111
9
希望高手给出好的答案

真不明白9是怎么来的,应该是8吧,如果错了自己改下
用回溯:

var n,total:integer;

procedure try(k:integer;s:string);
var ch:char;
begin
if (k>=n) then begin write(s,' ');inc(total);exit; end;

for ch:='0' to '1' do
try(k+1,s+ch);

end;

begin
readln(n);

try(0,'');

writeln;
writeln(total);
end.