diff --git a/main.cpp b/main.cpp index dc2a16d..c22514d 100644 --- a/main.cpp +++ b/main.cpp @@ -14,31 +14,6 @@ boost::crc_32_type::value_type getCrc32(const std::string_view my_string) { return result.checksum(); } -/** - * \brief Un nombre ressort sous la forme d'une chaîne de caractère avec les lettres de l'alphabet. A étant 1 puis B = 2, etc. - * En gros, c'est la conversion d'une base 10 vers 26. - * \tparam T - * \param n - * \param array - */ -template alphabet> -void findStringInv(const T n, char *array) { - // le nombre de lettre présent dans le nouveau mot : le nombre / 26 donnera le nombre de lettre. - const std::size_t iterLoop{ n / alphabet.size() }; - for (size_t i = 0; i < iterLoop; ++i) { - array[i] = alphabet.back(); - } - if (n < alphabet.size()) { - array[0] = alphabet[n - 1]; - return; - } - /*while (n > 0) { - array[i] = alphabet[(--n) % alphabet.size()]; - n /= alphabetSize; - ++i; - }*/ -} - /** * \brief * \tparam T @@ -255,9 +230,9 @@ int main() { 'Z' }; // taille = 26 constexpr std::size_t maxCompute = 308915776; constexpr std::size_t maxDig = maxDigits(maxCompute); - std::array tmp{}; - tmp.fill('\0'); + NumberBase26 number_base_26{ alphabet }; + for (size_t i = 0; i < maxCompute; ++i, ++number_base_26) { const auto crc = ~(getCrc32(std::string_view{ number_base_26.data.data(), maxDig })); if (std::find(cheat_list.cbegin(), cheat_list.cend(), crc) != cheat_list.cend())