• Aucun résultat trouvé

Algorithmes à connaitre

N/A
N/A
Protected

Academic year: 2022

Partager "Algorithmes à connaitre"

Copied!
3
0
0

Texte intégral

(1)

D E B O R D

Algorithmes à connaitre

1 Valeurs des coefficients binomiaux

n

p

Donner tous les coefficients binomiaux pour une valeur de n

1.1 L’idée mathématique

On utilise la relation ( ou le triangle de Pascal ) .

1.2 La mise en algorithme

Variables M ,L : listes i , k : entiers

Début de l’algorithme M ←[1,1]

L←[1,1]

Pouri allant de 2 à n Faire M[i+ 1] ←1

Pour k allant de 0 à i−2 Faire M[k+ 1]←L[k+ 1] +L[k]

FinPour L ←M FinPour Sorties : Afficher L

1 def coeffbinom(n):

2 L=[1,1]

3 M=L

4 for i in range(2,n+1):

5 M=M+[1]

6 for k in range(0,i−1):

7 M[k+1]=L[k+1]+L[k]

8 L=M

9 return L

Attention

Quand on note L[k] , on donne le k+ 1 ème terme de la liste .

26 juillet 2020 1 Béatrice Debord

(2)

D E B O R D

Algorithmes à connaitre

2 Générer des permutations

On donne une liste et on veut obtenir toutes les permutations possibles

2.1 Le principe

On utilise en python une fonction récursive , c’est à dire qu’on utilise la fonction qu’on fabrique au rang inférieur .

Si on prend la liste [1,2,3] , on fixe 1 et on cherche les permutations de [2,3] , puis on fixe 2 et on cherche les permutations de [1,3] ....

Les deux premières lignes traitent la liste vide et la liste à un seul élément

2.2 La mise en algorithme

1 def perm(L):

2 →if not L:

3 → →return []

4 →elif len(L)==1:

5 → →return [list(L)]

6 →else:

7 → →return [[L[i ]]+Pfor i in range(len(L))for P in perm(L[:i]+L[i+1:])]

A retenir

L[ :i] signifie les ièmes premiers termes de L et L[i+1 :] tous les termes de L sauf les (i+ 1)èmes .

26 juillet 2020 2 Béatrice Debord

(3)

D E B O R D

Algorithmes à connaitre

3 Déterminer des parties à 2 éléments d’un ensemble à n éléments

On veut déterminer , à partir d’une liste de n éléments , toutes les paires possibles Par exemple , [1,2,3] donnera : [1,2] , [1,3] , [2,3]

On fixe le premier terme , puis on lui associe tous les autres termes possibles et ainsi de suite et comme l’ordre ne compte pas , on démarre en i+ 1

3.1 La mise en algorithme

Variables P , L : listes i , k , n : entiers

Début de l’algorithme Saisir L

n← longueur de la liste L P ←[0,0]

Pouri allant de 1 à n−1Faire P[0]←L[i−1]

Pour k allant de i+ 1 à n Faire P[1]←L[k−1]

Afficher P FinPour FinPour

1 def paires(L):

2 n=len(L)

3 P=[0,0]

4 for i in range (1,n):

5 P[0]=L[i−1]

6 for k in range(i+1,n+1):

7 P[1]=L[k−1]

8 print(P)

9 return

26 juillet 2020 3 Béatrice Debord

Références

Documents relatifs

Ce projet éducatif est un levier pour mener facilement avec vos classes une pédagogie de projet autour des.. « Objectifs du développement durable » proposés par l’ONU,

Il, elle, on a connu Nous avons connu Vous avez connu Ils, elles ont connu Le verbe

Rédigez au dos de cette feuille un texte d’au moins cinq lignes décrivant ce qui vous intéresse le plus dans votre vie ( un projet professionnel, une mission

À travers une série d'actions, notamment : Stockage et traitement d’eau, Campagnes de sensibilisation des médias, Adoption de lois pour préserver les ressources naturelles et

[r]

L’it´ eration de la division enti` ere par 2 m` ene ` a 0, et le case de base 0 se termine par l’ex´ ecution de retourner.. – puissance se termine si on remplace l’appel `

Si l’algorithme se termine pour la valeur n−1 alors il se termine aussi pour la valeur n est excutant retourner.. – somme ne se termine pas lorsque n est

En un sommet de la grille donn´ e on a le choix de monter ou d’avancer, le nombre de chemin est donc la somme des nombres de chemins qui commen¸ cent par monter (Chemin(l −1, L)) et