Нужен алгоритм, написанный для расчета времени задержки

Допустим, у нас есть переменная x (частота выборки), и мы сделаем 4 задержки (в выборках) с коэффициентами 1: 1,5 для параллельной гребенчатой ​​фильтрации. в приведенном ниже примере время гребенчатого фильтра отличается от 30 до 45 миллисекунд.
х / 1000 = а
а * 30 = я
a * 35 = j
а * 40 = к
a * 45 = n
первое число i должно быть округлено до ближайшего целого числа. второе число j должно быть округлено до целого числа, которое не имеет общих множителей с i, а k должно быть округлено до целого числа, которое не имеет общего множителя как с i, так и с j, и так далее. Поэтому я ищу алгоритм, который бы округлял все числа j, k и n, чтобы не иметь общих делителей с i.

Реальная проблема, с которой мы сталкиваемся, заключается в том, что мы не можем найти простой способ найти общие делители NONE двух чисел, поскольку, когда вы гугляте, все эти результаты являются объяснением общих делителей и т. Д. Если кто-то может объяснить только этот бит, остальное все равно легко. ,

Огромное спасибо заранее

-1

Решение

Вы можете просто вычислить следующее простое число для каждого, что, вероятно, будет быстрее, чем попытка найти какое-то произвольное число, которое не имеет общих факторов. Я не знаю, в каком масштабе x в вашем приложении, но если он достаточно мал, то вычисление следующего простого числа три раза почти не займет времени.

Есть только 78 500 простых чисел от 0 до 1 000 000. Вы можете легко сгенерировать все это и сохранить их в таблице. Затем, учитывая некоторое значение, бинарный поиск даст вам следующее простое число, большее, чем это значение. Так что, если вы никогда не ожидаете a*45 чтобы быть больше, чем 1 000 000, вы можете очень быстро получить следующий номер. Конечно, для хранения простых чисел требуется немного памяти.

Или вы можете сгенерировать все простые числа от 0 до одного после * 45. Это займет немного времени, но если вам не нужно делать это очень часто, это, вероятно, вполне приемлемое решение. Особенно, если обработка, которую вы собираетесь выполнить впоследствии, намного дороже, чем вычисление нескольких простых чисел.

Увидеть Оптимизация не того немного больше информации.

5

Другие решения

Других решений пока нет …