Format
This commit is contained in:
parent
5d4a3a85cc
commit
927bcaff9a
29
main.cpp
29
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<typename T, std::uint32_t alphabetSize, std::array<char, alphabetSize> 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<char, maxDig> tmp{};
|
||||
tmp.fill('\0');
|
||||
|
||||
NumberBase26<maxDig> 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())
|
||||
|
Loading…
Reference in New Issue
Block a user