Algorythmes 1-9 chiffres combinaisons possibl
Fermé
archers
Messages postés
9
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
28 juillet 2009
-
18 janv. 2009 à 14:08
toenian - 2 mai 2017 à 22:41
toenian - 2 mai 2017 à 22:41
A voir également:
- Nombre de combinaison possible avec 10 chiffres
- Nombre de combinaison possible avec 9 chiffres - Meilleures réponses
- Nombre de combinaison possible avec 6 chiffres de 0 à 9 - Meilleures réponses
- Combien de combinaison possible avec 3 chiffres ✓ - Forum Programmation
- Nombre de combinaison possible avec 4 chiffres - Forum Programmation
- Combinaisons à 4 chiffres - Forum Programmation
- Nombre de combinaison possible avec 6 chiffres de 0 à 9 - Forum loisirs/vie pratique
- Combinaisons à 3 CHIFFRES - Forum Programmation
6 réponses
voici un programme pascal qui affiche toutes les combinaisons possibles des caractères numériques (chiffres) ou alphabétiques dans une chaîne ch, sachant que le nombre de combinaisons est égale au factoriel du nombre total des chiffres , exemple pour ch = 123 il existe 3! combinaisons = 6 combinaison= 6 permutations: pour le nombre 123
le programme affiche 213-231-132-312-321-123
Program combinaison;
Uses WinCrt;
Var ch:string;
Procedure Remplir (Var ch:string);
begin
writeln('donner le nombre');
Readln(ch);
End;
procedure permut(var x,y:char);
var aux:char;
begin
aux:=x;
x:=y;
y:=aux
end;
function fact(x:integer):integer;
var f,i:integer;
begin
f:=1;
for i:= 1 to x do
begin
f:=f*i ;
end;
fact:=f;
end;
procedure affichecomb(ch:string);
var i,n,np:integer;
begin
n:=length(ch);
np:=0;
repeat
for i:= 1 to n-1 do
begin
permut(ch[i],ch[i+1]);
np:=np+1;
write(ch,'-');
end;
permut(ch[1],ch[n]);
write(ch,'-');
np:=np+1;
until np =fact(length(ch));
end;
begin
remplir(ch);
writeln;
affichecomb(ch);
end.
le programme affiche 213-231-132-312-321-123
Program combinaison;
Uses WinCrt;
Var ch:string;
Procedure Remplir (Var ch:string);
begin
writeln('donner le nombre');
Readln(ch);
End;
procedure permut(var x,y:char);
var aux:char;
begin
aux:=x;
x:=y;
y:=aux
end;
function fact(x:integer):integer;
var f,i:integer;
begin
f:=1;
for i:= 1 to x do
begin
f:=f*i ;
end;
fact:=f;
end;
procedure affichecomb(ch:string);
var i,n,np:integer;
begin
n:=length(ch);
np:=0;
repeat
for i:= 1 to n-1 do
begin
permut(ch[i],ch[i+1]);
np:=np+1;
write(ch,'-');
end;
permut(ch[1],ch[n]);
write(ch,'-');
np:=np+1;
until np =fact(length(ch));
end;
begin
remplir(ch);
writeln;
affichecomb(ch);
end.