
Criba de Eratostenes
Publicado por Omar (14 intervenciones) el 03/02/2016 08:06:13
Hola gente del foro, soy nuevo por aqui, necesito ayuda con un detalle de mi codigo, pues no he podido resolverlo aun, la cosa es que me he sacado de por ahi un algoritmo que obtiene los numeros primos antes de un numero N dado por el usuario, es conocida como la criba de eratostenes.
Para hacer esto, almacene todos los valores en un array, primero marque todos en true y despues con un indice 2, indentifique todos los multiplos. Ya se ha resuelto, pero ahora quiero que cada 10 elementos haga un salto de linea, implemente unas operaciones en donde imprime el arreglo pero sigo sin conseguirlo, agradeceria sus comentarios.
Gracias!
Para hacer esto, almacene todos los valores en un array, primero marque todos en true y despues con un indice 2, indentifique todos los multiplos. Ya se ha resuelto, pero ahora quiero que cada 10 elementos haga un salto de linea, implemente unas operaciones en donde imprime el arreglo pero sigo sin conseguirlo, agradeceria sus comentarios.
Gracias!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <iostream>
using namespace std;
int main()
{
int N, i, j, cont, cont2, esp;
cout <<"\n\n\t\tINGRESA EL ULTIMO NUMERO DE LA TABLA:" <<endl;
cin >> N;
bool primo[N];
for (i = 0; i < N; i++) {
primo[i] = true; //Marca toda la table en True (Todos son Primos al Principio)
}
for (i = 2; i < N; i++) {
//Identifica los Multiplos : i*2, i*3, i*4, i*5
for ( j = 2; i*j <N; j++) {
primo[i*j] = false;
}
}
cout <<"\n\t\t";
esp = 10;
cont = -1;
cont2 = 10;
for (i = 0; i < N; i++){
cont ++;
if (primo[i]) cout <<"|"<< i;
else cout <<"|*";
if (primo[i]!=1);
if (cont / esp*cont2 == 10 );
cout <<endl <<"\t\t";
cont2 = cont2+10;
}
cout << endl;
Valora esta pregunta


0