- 问答
- 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