Problem
Für jede ganze Zahl von 1 bis einschließlich limit gilt: Verwende Fizz für Vielfache von 3, Buzz für Vielfache von 5 und FizzBuzz für Vielfache von beiden. Andernfalls verwende die ausgeschriebene Zahl als Text. Gib die Einträge in der richtigen Reihenfolge als Liste zurück, anstatt sie auszugeben.
Implementiere fizz_buzz(limit).
Eingabe
limit: Die letzte einzuschließende ganze Zahl.
Ausgabe
Gib eine Liste von Strings zurück, jeweils einen für jede ganze Zahl von 1 bis einschließlich limit.
Einschränkungen
0 ≤ limit ≤ 10.000. Ein limit von 0 ergibt eine leere Liste.
Beispiele
Eingabe:
limit = 5
Erwartete Ausgabe:
expected = ["1", "2", "Fizz", "4", "Buzz"]
Eingabe:
long long limit = 5;
Erwartete Ausgabe:
std::vector<std::string> expected = {"1", "2", "Fizz", "4", "Buzz"};
Eingabe:
long limit = 5;
Erwartete Ausgabe:
string[] expected = new string[] {"1", "2", "Fizz", "4", "Buzz"};
Erläuterung
3 ist durch 3 teilbar und 5 ist durch 5 teilbar. Die anderen Einträge behalten ihre Zahl.
Eingabe:
limit = 0
Erwartete Ausgabe:
expected = []
Eingabe:
long long limit = 0;
Erwartete Ausgabe:
std::vector<std::string> expected = {};
Eingabe:
long limit = 0;
Erwartete Ausgabe:
string[] expected = new string[] {};
Erläuterung
Es gibt keine ganzen Zahlen von 1 bis 0, daher ist die Liste leer.
So gehst du vor
Versuch es zuerst allein und öffne dann einen Hinweis nach dem anderen.
Hinweis 1
Jede Position hängt nur von der Teilbarkeit der aktuellen Zahl durch 3 und 5 ab.
Hinweis 2
Baue die Ergebnisliste der Reihe nach, indem du für jede Zahl beide Teilbarkeitsregeln prüfst.
Hinweis 3
Behandle die Untergrenze sorgfältig: Ist das Limit 0, ist das Ergebnis eine leere Liste.
Erwartete Komplexität
Zeit O(n), zusätzlicher Speicher O(n)
Referenzen
Diese Aufgabe wurde für CodeUtility angepasst. Beachte die oben genannten Vorgaben und Einschränkungen.