У меня есть следующее выражение: (2^i * 3^j), i, j> = 0, и мне нужно перечислить его в порядке возрастания, т. Е. 1 2 3 4 6 8 9 12 ....Перечислить алгебраическое выражение в порядке возрастания
Я думал о том, чтобы сделать следующее: поддерживать очередь приоритетов. Для текущего (i, j) мы можем либо увеличить i, либо увеличивать j. Вычислите выражение для этих новых значений и вставьте их в очередь приоритетов. Поп из очереди и продолжайте. Начнем с (0,0). Нам также необходимо поддерживать (i, j) вместе с вычисленным выражением. Кроме того, необходимо игнорировать дубликаты.
Я хотел знать, был ли более быстрый способ перечислить указанное выше выражение, поддерживая меньшее состояние?