Conversion d'entier en mot haute performance : une approche sans table de recherche
Cet article présente une méthode efficace pour convertir des entiers en leurs représentations écrites sans recourir à de grandes tables de recherche. La solution exploite un algorithme récursif et des tableaux prédéfinis pour gérer différentes plages de nombres.
Conception d'algorithmes :
L'algorithme de base décompose l'entier d'entrée en ses composants individuels (unités, dizaines, centaines, etc.). Ces composants sont ensuite combinés de manière récursive à l'aide de la fonction FriendlyInteger
pour générer la représentation textuelle. Des tableaux prédéfinis (ones
, teens
, tens
, thousandsGroups
) stockent les équivalents de mots pour différentes plages de nombres.
Implémentation C# :
Le code C# fourni (HumanFriendlyInteger
) implémente cet algorithme. Les fonctions clés incluent :
FriendlyInteger
: Convertit récursivement l'entier en sa forme écrite.IntegerToWritten
: Gère les cas particuliers comme les nombres négatifs et zéro, et appelle FriendlyInteger
pour le processus de conversion principal.Fonctionnalités et avantages :
Le code transforme avec précision les nombres entiers en leurs équivalents textuels (par exemple, 21 devient « Vingt et un »). Les principaux avantages sont :
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!