# -*- coding: utf-8 -*-
# Created on Sat Sep 31 08:15:00 2024
# @author: mhebding
# TP1 - Revisions



## 1 - Algorithmique


# 1.
def somme(a):
    return None

# 2.
def moyenne(a):
    return None

# 3.
def is_prime(n):
    return None

# 4.
def next_prime(n):
    return None

# 5.
def factorielle(n):
    return None

# 6.
def liste_pos(x,L):
    return None

#print(liste_pos(3,[1,3,5,2,3])) doit renvoyer [1,4]

# 7. 
None # Reponse a la question 7. en commentaire



## 2 - Le rendu de monnaie glouton

# 8.
systeme_euro = [500, 200, 100, 50, 20, 10, 5, 2, 1]

def rendu_monnaie(somme, systeme):
    return None
            
#print(rendu_monnaie(97,systeme_euro)) doit renvoyer [50, 20, 20, 5, 2]



## 3 - Dictionnaires

# 9.
None # votre fonction ici

# 10. 
None # votre fonction ici

# 11. 
None # votre code ici

# 12. 
None # votre fonction ici



## 4 - Graphes

graphe = {"A":("B","D","E"),"B":("A","C"),"C":("B","D"),"D":("A","C","E"),"E":("A","D","F","G"),"F":("E","G"),"G":("E","F","H"),"H":("G")}

# 13.
def parcours_en_largeur(graphe, sommet):
    None
    return None

for sommet in graphe.keys():
    print(parcours_en_largeur(graphe,sommet))

#>>> parcours_en_largeur({"A":("B","D","E"),"B":("A","C"),"C":("B","D"),"D":("A","C","E"),"E":("A","D","F","G"),"F":("E","G"),"G":("E","F","H"),"H":("G")},"A")
#['A', 'B', 'D', 'E', 'C', 'F', 'G', 'H']


def parcours_en_profondeur(graphe, sommet):
    None
    return None

for sommet in graphe.keys():
    print(sommet,parcours_en_profondeur(graphe,sommet))

#>>> parcours_en_profondeur({"A":("B","D","E"),"B":("A","C"),"C":("B","D"),"D":("A","C","E"),"E":("A","D","F","G"),"F":("E","G"),"G":("E","F","H"),"H":("G")},"A")
#    ['A', 'E', 'G', 'H', 'F', 'D', 'C', 'B']
