- 问答
- @ 2009-08-12 19:54:12
很小的一个题,但就是运行不了,真是郁闷!
[问题描述] 列出所有从数字1到N的连续自然数的排列,要求所产生的任一 数字序列中不能出现重复的数字。
输入:N(1
6 条评论
-
litachil LV 0 @ 2009-08-12 19:54:13
奇怪了....
-
@ 2009-08-09 20:11:55
但结果还是不对,一定还有错误
-
@ 2009-08-09 20:10:51
对,应该是FIND{K+1};
-
@ 2009-08-09 13:40:01
...
你应该写find(k+1);
进入下一层。。。 -
@ 2009-08-09 11:04:07
procedure find(k:integer);
begin
if k>n then
begin
for j:=1 to n do write(a[n],' ');
writeln;
end
else
for i:=1 to n do
begin
flag:=true;
for q:=1 to k-1 do if a[q]=i then flag:=false;
if flag=true then begin a[k]:=i; find(k); end;
end;
end;for q:=1 to k-1
由于k=1,所以这句话跳过。
if flag=true then begin a[k]:=i; find(k); end;
因为flag=true,所以执行find(k),k=1,所以好像这个程序真正执行的只有一条:a[k]=i;
不知道我说的对不对,仅供参考,谢谢。 -
@ 2009-08-09 10:59:24
……………………
我怎么看怎么像死循环啊!!!
- 1