Я ищу алгоритм для вычисления следующего набора операций в последовательности. Вот простое определение последовательности.
- Задание 1А будет выполняться каждые 500 часов
- Задание 2А будет выполняться каждые 1000 часов
- Задание 3А будет выполняться каждые 1500 часов
Итак, при t = 500, сделайте 1А. При t = 1000 делайте 1A и 2A, при t = 1500 делайте 1A и 3A, но не 2A, поскольку 1500 не кратно 1000. Вы понимаете, как это сделать.
Было бы довольно легко, если бы у меня было время, но у меня нет. У меня есть история заданий (например, в прошлый раз было выполнено [1A + 2A]).
Знание последнего времени (например, [1A + 2A]) недостаточно для принятия решения:
- [1A + 2A] может быть при t = 1000: далее [1A + 3A] при t = 1500
- [1A + 2A] может быть при t = 5000: далее [1A] при t = 5500
Есть ли алгоритм для этого? Это похоже на знакомую проблему (какое-то сито?), Но я не могу найти решение.
Кроме того, он должен «масштабироваться», так как на самом деле у меня более 3 задач.