Am si eu nevoie de un program in C, nu C++ pentru Ciurul lui Eratostene. Am o varianta in C++ ok, dar nu prea stiu sa o traduc in C#.
#include <iostream>#include <math.h>using namespace std; int main() {int a[1001];int nr = 0, n, i, j;cout << "Numerele pana la: ";cin >> n;for (i = 2; i <= n; i++)a[i] = 1;for (i = 2; i <= sqrt(n); i++)if (a[i] != 0)for (j = 2; j <= n / i; j++)a[i*j] = 0;for (i = 2; i <= n; i++)if (a[i] != 0)nr++;//Daca a[i]!=0, in cazul nostru cand a[i]==1, crestem contorul, de exemplu cand dam de numarul 2, nr ajunge 1, la numarul 3, nr ajunge 2, etc.cout << nr << endl;return 0;}
rokaijano:
Acum este vorba de C, sau C# ?
Răspunsuri la întrebare
Răspuns de
0
#include <stdio.h>#include <math.h>
int main() { int a[1001];int nr = 0, n, i, j;
printf("Numerele pana la: "); scanf("%d", &n);
for (i = 2; i <= n; i++) a[i] = 1; for (i = 2; i <= sqrt(n); i++) if (a[i] != 0) for (j = 2; j <= n / i; j++) a[i*j] = 0; for (i = 2; i <= n; i++) if (a[i] != 0) nr++;//Daca a[i]!=0, in cazul nostru cand a[i]==1, crestem contorul, de exemplu cand dam de numarul 2, nr ajunge 1, la numarul 3, nr ajunge 2, etc. printf("%d", nr); return 0; }
int main() { int a[1001];int nr = 0, n, i, j;
printf("Numerele pana la: "); scanf("%d", &n);
for (i = 2; i <= n; i++) a[i] = 1; for (i = 2; i <= sqrt(n); i++) if (a[i] != 0) for (j = 2; j <= n / i; j++) a[i*j] = 0; for (i = 2; i <= n; i++) if (a[i] != 0) nr++;//Daca a[i]!=0, in cazul nostru cand a[i]==1, crestem contorul, de exemplu cand dam de numarul 2, nr ajunge 1, la numarul 3, nr ajunge 2, etc. printf("%d", nr); return 0; }
Răspuns de
0
#include<stdio.h>
int i, j, nr, sol[1005], n;
char a[2000005];
inline int min(int a, int b){
if (a < b)
return a;
return b;
}
int main()
{
freopen("ciur.in", "rt", stdin);
freopen("ciur.out", "wt", stdout);
scanf("%d", &n);
for (i = 2; i*i <= n; i ++)
if (!a[i])
for (j = 2*i; j <= n; j += i)
a[j] = 1;
for (i = n; i > 1; i --)
if (!a[i])
nr ++;
printf("%d\n", nr);
return 0;
}
int i, j, nr, sol[1005], n;
char a[2000005];
inline int min(int a, int b){
if (a < b)
return a;
return b;
}
int main()
{
freopen("ciur.in", "rt", stdin);
freopen("ciur.out", "wt", stdout);
scanf("%d", &n);
for (i = 2; i*i <= n; i ++)
if (!a[i])
for (j = 2*i; j <= n; j += i)
a[j] = 1;
for (i = n; i > 1; i --)
if (!a[i])
nr ++;
printf("%d\n", nr);
return 0;
}
Alte întrebări interesante
Chimie,
9 ani în urmă
Matematică,
9 ani în urmă
Chimie,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Biologie,
9 ani în urmă