Add somme-chiffres in algo and py
This commit is contained in:
parent
f248ade2e5
commit
13970cb831
2 changed files with 38 additions and 0 deletions
|
@ -1,4 +1,18 @@
|
||||||
Algorithme : Somme des chiffres d'un entier N donné
|
Algorithme : Somme des chiffres d'un entier N donné
|
||||||
|
|
||||||
Début
|
Début
|
||||||
|
|
||||||
|
Fonction SommeChiffres(N : int, somme : int)
|
||||||
|
chiffre : Entier <- N[0]
|
||||||
|
Si chiffre = NIL
|
||||||
|
Retourner(somme)
|
||||||
|
Sinon
|
||||||
|
somme = somme + chiffre
|
||||||
|
Dépiler(N)
|
||||||
|
Retourner(SommeChiffres(N, somme))
|
||||||
|
FinSi
|
||||||
|
FinFonction
|
||||||
|
|
||||||
|
Afficher(SommeChiffres(123, 0))
|
||||||
|
|
||||||
Fin
|
Fin
|
||||||
|
|
24
algorithmique/recursivite/somme-chiffres.py
Normal file
24
algorithmique/recursivite/somme-chiffres.py
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
"""Algorithme : Somme des chiffres d'un entier N donné"""
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
print(SommeChiffres("123"))
|
||||||
|
|
||||||
|
|
||||||
|
def SommeChiffres(N : str, somme: int = 0) -> int:
|
||||||
|
nombre = [int(n) for n in N]
|
||||||
|
try:
|
||||||
|
chiffre = nombre[0]
|
||||||
|
except IndexError:
|
||||||
|
return somme
|
||||||
|
else:
|
||||||
|
somme += chiffre
|
||||||
|
nombre.pop(0)
|
||||||
|
N = "".join(str(n) for n in nombre)
|
||||||
|
return SommeChiffres(N, somme)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
Loading…
Reference in a new issue