Не удается реализовать Решето Эратосфена - C (СИ)
Формулировка задачи:
задача: быстро найти простые числа. проблема в том, что в СИ разбираюсь плохо ( так что код может кому-то показаться наивным ). прошу найти ошибки в алгоритме
#include<stdio.h> #include<stdlib.h> #include<conio.h> #include<time.h> int main() { int L=2, N=30, A[305], j, x=0; clock_t start,end; start=clock(); // заполнение массива нулями for ( L; L<=N; L++) { A[L]=0; printf("%d\n",A[L]); } L=2; // алгоритм решето Эратосфена for ( L, x; j<=N; L++, x++) { if (A[L]) j=L*L+L*x; A[j]=0; } L=2; //вывод новых значений for ( L; L<=N; L++) printf("%d\n",A[L]); end=clock(); printf(" %6.3f sec\n",(double)(end-start)/(double)CLOCKS_PER_SEC); getch(); return 0; }
Решение задачи: «Не удается реализовать Решето Эратосфена»
textual
Листинг программы
// заполнение массива единицами for ( L; L<=N; L++) A[L]=1; L=5;
Объяснение кода листинга программы
- В цикле от L до N (включительно) заполняется массив A единицами. Значение L равно 5, а N - это переменная, значение которой не определено (возможно, она должна быть инициализирована до этого участка кода).
- Значение L изменяется на 5.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д