Здравствуйте. Задача: для данного числа n, подсчитай к-ство простых чисел, меньших од n.
Пример:
Ввод:
10
Вывод:
4
//т.к. простые числа до 10: 2, 3, 5, 7.
Написал алгоритм решета Эратосфена, но почему-то мне для чисел больших 100 000 выдает segmentation fault(core dumped). Знаю, что такое сегфолт, но не понимаю, что в моем коде не так.
#include <stdio.h>
int main() {
int n, count = 0;
printf("");
scanf("%d", &n);
int *Arr = new int[n+1];
for(int i = 0; i < n+1; i++) {
Arr[i] = i;
}
for(int i = 2; i < n+1; i++) {
if(Arr[i] != 0) {
count++;
for(int j = i*i; j < n+1; j += i) {
Arr[j] = 0;
}
}
}
printf("%d\n", count);
delete[] Arr;
}