作业帮 > 综合 > 作业

数字排列问题(pascal)

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/05/06 01:22:26
数字排列问题(pascal)
列出所有从数字1到数字n的连续自然数的排列,要求所产生的任一数字序列中不允许出现重复的数字(1n do begin a[l]:=1; l:=l-1;a[l]:=a[l]+1; end; end;
end;
2:close(f2);;
end.
答案是对的,但1~8能在1秒内输出,9需要十几秒,优化很久都不行,请帮忙改进一下我的代码(不要用其他算法,仅仅是优化我的代码)
2楼的,从哪粘的?我又没用过程.
1楼的,我之前用了过程,但结果少了很多,输入3的时候,只有3个(是用中学高级本上的过程描述),请给我一个用过程的程序,
3楼的程序是行的,但大家能否将我的程序判重部分简化?经计算,那里耗时太长.
数字排列问题(pascal)
我想说的是,你的程序用了goto语句后就破坏了程序的协调性,难以对其进行优化,大牛的程序没有goto语句就是因为程序自顶向下的设计方式是最简单的,优化的话最好做个过程,用n个循环嵌套看看也不美观,对吧.