1
그래서 x 개의 긴 배열/요소 집합에서 가능한 모든 n 자리의 긴 숫자를 바꾸려고합니다. 나는 그것을하는 코드를 생각해 냈다. 그러나 숫자는 동일하다. 어떻게 그런 일이 일어나지 않도록 할까? 여기 내 (파스칼)왔다 :재귀 순열
여기program Noname10;
var stop : boolean;
A : array[1..100] of integer;
function check(n : integer) : boolean;
begin
if n = 343 // sets the limit when to stop.
then check := true
else check := false;
end;
procedure permute(p,result : integer);
var i : integer;
begin
if not stop
then if p = 0 then
begin
WriteLn(result);
if check(result)
then stop := true
end
else for i := 1 to 9 do
begin
permute(p - 1, 10*result+i);
end;
end;
begin
stop := false;
permute(3,0);
readln;
end.
(당신의 왼쪽에있는 "관련"열 참조) 아주 좋은 답변을 SO 이미 순열을 생성하는 방법에 대한 많은 질문이 있습니다 당신은 출력의 예를 작성할 수 –
있습니다 너는 기대하고 있니? (실제로 순열을 생성하는 코드의 측면은 보이지 않으며 배열을 사용하고 있지 않음을 유의하십시오. 예를 통해 명확하게 설명 할 수 있습니다.) –