组合的输出pascal程序
生活随笔
收集整理的這篇文章主要介紹了
组合的输出pascal程序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這題我是用深度搜索的方法寫的。
因為要按字典順序輸出,所以填數的時候,前面的數要小于后面的數。
搜索的時候,我把填的數放在字符串里面。
var
n,r,i:longint;
procedure print(s:string);
var
i:longint;
begin
? ? for i:=1 to length(s) do
? ? write(s[i]:3);
? ? writeln;
end;
procedure search(dep,l:longint;y:string);
var
i:longint;
s:string;
begin
? ? if dep>r then
? ? begin
? ? ? ? print(y);
? ? ? ? exit;
? ? end;
? ? for i:=l+1 to n do
? ? begin
? ? ? ? s:='';
? ? ? ? str(i,s);
? ? ? ? search(dep+1,i,y+s);
? ? end;
end;
begin
? ? read(n,r);
? ? if n>r then halt;
? ? search(1,0,'');
end.
轉載于:https://www.cnblogs.com/YYC-0304/p/9500246.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的组合的输出pascal程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 骑士旅行pascal解题程序
- 下一篇: 工作分配问题pascal程序