Я совершенно новичок в C, только действительно имел опыт работы с Python в прошлом, поэтому, пожалуйста, прости мое невежество здесь.
Я пытаюсь реализовать алгоритм простого эфира Эратосфена в C. Этот алгоритм рекурсивно отбрасывает все кратные данного числа, пока не будет найдено последнее число, которое вы хотите знать.В частности, программа будет иметь вход n и будет выводить все простые числа, меньшие чем n .
Для достижения этого я подумал создать массив длины n и рекурсивно цикл по этому массиву, отбрасывая целые числа, которые мне больше не нужны (меняя их на 0).
Однако проблема, которую я обнаружил, состоит в том, что c не допускает массивпеременной длины.Я думал, что немного перехитрил это правило, выполнив этот трюк:
void Sieve(int n) {
int prime[n+1];
}
Но, к сожалению, даже переменные, переданные функциям, не в порядке.
Отсюда мой вопрос: как я могуинициировать такой массив в C?