Maison > développement back-end > Tutoriel Python > Quelle est la manière la plus efficace de additionner les chiffres d'un entier ?

Quelle est la manière la plus efficace de additionner les chiffres d'un entier ?

Mary-Kate Olsen
Libérer: 2024-11-29 11:04:11
original
482 Les gens l'ont consulté

What's the Most Efficient Way to Sum the Digits of an Integer?

Somme les chiffres d'un nombre

Question :

Déterminer les méthodes les plus efficaces pour calculer la somme des chiffres dans un élément donné entier.

Réponse :

Alors que les méthodes Pythonic fournies impliquant la conversion de chaîne et l'approche de mappage (sum(int(digit) for digit in str(number)) et sum (map(int, str(number)))) sont acceptables, une approche plus efficace existe : entier direct manipulation.

Méthodes de manipulation d'entiers :

  • sum_digits() : parcourt chaque chiffre par des opérations de modulo et de division.
  • sum_digits2() : similaire à sum_digits() mais en utilisant divmod pour plus d'efficacité.
  • sum_digits3() : rationalise les opérations en une seule instruction d'affectation.

Comparaison des performances :

L'analyse comparative de ces méthodes révèle leur importance relative efficacité :

def sum_digits3(n) is the fastest, followed by sum_digits(), sum_digits2(), sum(map(int, str(n))), sum([int(digit) for digit in str(n)]), 
    and finally sum(int(digit) for digit in str(n)).
Copier après la connexion

Par conséquent, pour une vitesse optimale, l'utilisation de méthodes de manipulation directe d'entiers telles que sum_digits3() est recommandée plutôt que les approches basées sur des chaînes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal