Реализации алгоритмов/Алгоритм Верхуффа: различия между версиями

Содержимое удалено Содержимое добавлено
 
преамбула и немного перевода
Строка 1:
{{wikipedia|Алгоритм Верхуффа}}
 
'''Алгоритм Верхуффа''' (''англ.'' Verhoeff algorithm) — алгоритм расчёта контрольной цифры для обнаружения ошибок при ручном вводе длинных цифровых последовательностей. Алгоритм позволяет выявить большее число ошибок, нежели аналогичный [[Реализации алгоритмов/Алгоритм Луна|алгоритм Луна]].
 
 
Строка 5 ⟶ 7 :
 
<source lang="c">
// Таблица умножения
// The multiplication table
static int verhoeff_d[][] = {
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9},
Строка 19 ⟶ 21 :
};
 
// Таблица перестановок
// The permutation table
static int verhoeff_p[][]= {
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9},
Строка 31 ⟶ 33 :
};
 
// Обратная таблица
//The inverse table
static int verhoeff_inv[] = {0, 4, 3, 2, 1, 5, 6, 7, 8, 9};
 
// For a given number generates a Verhoeff digit
static int generate_verhoeff(const char* num)
{