Problème
L'argent est généralement stocké en cents entiers pour éviter les erreurs d'arrondi, et n'est mis en forme en dollars qu'à l'affichage.
Pour chaque article, écrivez la ligne <name> x<quantity> = <amount>, où amount = quantity × prix en cents. Après les articles, écrivez Total = <amount> avec la somme de toutes les lignes.
Écrivez chaque montant en dollars, un point et exactement deux chiffres de cents, par exemple 5 → 0.05 et 1250 → 12.50.
Implémentez format_invoice(names, quantities, cents).
Entrée
names, quantities, cents: Des listes correspondantes décrivant chaque article.
Sortie
Renvoyez les lignes des articles suivies de la ligne du total.
Contraintes
0 ≤ nombre d'articles ≤ 1,000
1 ≤ quantity ≤ 1,000; 0 ≤ cents ≤ 10^6
Exemples
Entrée :
cents = [250, 375]
names = ["Tea", "Cake"]
quantities = [2, 1]
Sortie attendue :
expected = ["Tea x2 = 5.00", "Cake x1 = 3.75", "Total = 8.75"]
Entrée :
std::vector<long long> cents = {250, 375};
std::vector<std::string> names = {"Tea", "Cake"};
std::vector<long long> quantities = {2, 1};
Sortie attendue :
std::vector<std::string> expected = {"Tea x2 = 5.00", "Cake x1 = 3.75", "Total = 8.75"};
Entrée :
long[] cents = new long[] {250, 375};
string[] names = new string[] {"Tea", "Cake"};
long[] quantities = new long[] {2, 1};
Sortie attendue :
string[] expected = new string[] {"Tea x2 = 5.00", "Cake x1 = 3.75", "Total = 8.75"};
Explication
2 × 250 = 500 cents font 5.00 et 375 cents font 3.75 ; le total est de 875 cents : ["Tea x2 = 5.00", "Cake x1 = 3.75", "Total = 8.75"].
Entrée :
cents = [5]
names = ["Gum"]
quantities = [3]
Sortie attendue :
expected = ["Gum x3 = 0.15", "Total = 0.15"]
Entrée :
std::vector<long long> cents = {5};
std::vector<std::string> names = {"Gum"};
std::vector<long long> quantities = {3};
Sortie attendue :
std::vector<std::string> expected = {"Gum x3 = 0.15", "Total = 0.15"};
Entrée :
long[] cents = new long[] {5};
string[] names = new string[] {"Gum"};
long[] quantities = new long[] {3};
Sortie attendue :
string[] expected = new string[] {"Gum x3 = 0.15", "Total = 0.15"};
Explication
3 × 5 = 15 cents, qui s'écrit 0.15 : ["Gum x3 = 0.15", "Total = 0.15"].
Comment l'aborder
Essayez d'abord seul, puis ouvrez les indices un par un.
Indice 1
Faites tous les calculs en cents entiers.
Indice 2
Séparez les cents en dollars (cents / 100) et en reste (cents % 100).
Indice 3
Écrivez toujours les cents sur deux chiffres : 5 cents donne 0.05.
Complexité attendue
temps O(nombre d'articles), espace supplémentaire O(nombre d'articles)
Références
Ce défi a été adapté pour CodeUtility. Suivez l'énoncé et les contraintes ci-dessus.