Одним интересным свойством стека является то, что его можно использовать для обратного порядка .Это потому, что первый элемент, который нужно вставить в него, это последний выключенный.
Представьте себе, если я помещу буквы слова «панорамирование» в стек, одну за другой.Сначала я нажимаю «p», затем «a», затем «n».Теперь, так как «n» была последней нажатой буквой, это первая буква, которая будет вытолкнута из стека.Таким образом, когда я удаляю буквы, я получаю «n», затем «a» и «p» - «nap».Таким образом, стек может использоваться для обращения слова назад, рассматривая его как список символов.
То же самое верно для списка простых чисел.Если у вас есть список первых NUMBER_OF_PRIMES
простых чисел в порядке возрастания (например, 2, 3, 5, 7 ...), то вы можете выполнить тот же трюк, используя стек, чтобы изменить этот список на по убыванию упорядочьте, поместив каждый в стек, а затем считав их.
Итак, что бы я делал, каждый раз, когда вы обнаруживаете простое число, помещайте его в свой стек до тех пор, пока не будет NUMBER_OF_PRIMES
простых чиселв стеке.Затем вытолкните каждый элемент из стека, чтобы распечатать его в обратном порядке.
Возможно, стоит также включить свою логику isPrime
в ее собственную функцию, как только вы запустите ее.