создаем массив типа
for (i=1;i<63;i++) {
for (j=5;j<20;j++) {
// *
printf("\n %d) %d",o,k); o++;
}
}
удаляем из него дублированные значения. желательно еще на этапе '*'
создаем массив такого же размера с соответствующими значениями (j * i)
2 байта на entry в ввиде j<<8 + i
потом его сортируем в порядке возрастания значения, второй массив также сортируем параллельно. Исходные таблицы готовы.
я тут подсчитал первый цикл. будет 497 значений. соответственно 497 * 4 = 1988 байт. все это делаем на компе.
потом, делим 16000000 на t_bit и просто находим ближайшее значение
в массиве j*i (методом деления на 2) и вытаскиваем по индексу
числа из массива j<<8 + i