Cod sursa(job #1226073)
| Utilizator | Data | 4 septembrie 2014 15:41:36 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 0 |
| Compilator | c | Status | done |
| Runda | Arhiva educationala | Marime | 0.7 kb |
#include <stdio.h>
void Ciur(int n, FILE* output) {
int i, k;
int count = 1;
char a[n];
for (i = 3; i <= n; i += 2)
a[i] = 0;
for (i = 3; i <= n; i += 2)
if ( a[i] == 0 )
{
fprintf(output, "%d\n", i);
count++;
if (i <= sqrt(n))
{
for (k = i * i; k <= n; k += i)
a[k] = 1;
}
}
fprintf(output, "%d ", count);
}
int main() {
FILE *input, *output;
input = fopen("ciur.in", "r");
output = fopen("ciur.out", "w");
int n;
fscanf(input, "%d ", &n);
Ciur(n, output);
return 0;
}
