J'essaie donc de permuter tous les nombres longs de n chiffres possibles sur x tableau/ensemble d'éléments. Je suis venu avec un code qui fait cela, mais les chiffres sont les mêmes, comment puis-je empêcher cela. Voici mon venu (Pascal):Permutation récursive
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.
Il y a des questions NOMBREUX sur la génération permutations déjà en SO avec de très bonnes réponses (voir la colonne « associée » à votre gauche) –
Pouvez-vous écrire quelques exemples de sortie vous attendez? (Je ne vois pas les aspects du code qui vont réellement créer des permutations Notez que vous n'utilisez pas le tableau Les exemples peuvent clarifier les choses.) –