Dev - C++ - Lista de par impar y primos

 
Vista:

Lista de par impar y primos

Publicado por Ivanna (2 intervenciones) el 03/10/2020 02:10:31
Necesito apoyo con un trabajo. Consiste en poder poner dos numeros, el segundo se mayor por 100 del primero, al acerlo, que aparesca tres listas, un que aparescan todos los numeros pars que hay entere esos numeros, otro que funcione igual pero con impares y uno igual pero con numeros primos. Ayuda plis.


seria algo asi:

Darme un numero: 1
Drame un numero: 10 (con cien)

pares
2 4 6 8 10
impar
1 3 5 7 9
primos
2 3 5 7
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Lista de par impar y primos

Publicado por Nacho (181 intervenciones) el 03/10/2020 18:16:51
Si no abres otro hilo para contestar no parece tanto que nos tomas el pelo.

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
37
bool EsPrimo(int numero)
{
    if (numero == 0 || numero == 1) return false;
    for (int x = 2; x < numero / 2; x++) if (numero % x == 0) return false;
}
 
int main()
{
    int num1;
    int listapar[100]{ 0 };
    int listaimpar[100]{ 0 };
    int listaprimos[100]{ 0 };
    int conPar=0, conImpar=0, conPrimos=0;
 
    cout << "100 IMPARES, PARES Y PRIMOS \n\n";
    cout << "Darme un numero: "; cin >> num1; cout << endl;
 
    for (int i = num1; i <= num1 + 100; i++)
    {
        if (i % 2 == 0)
        {
            listapar[conPar] = i;
            conPar++;
        }
        else
        {
            listaimpar[conImpar] = i;
            conImpar++;
        }
        if (EsPrimo(i))
        {
            listaprimos[conPrimos] = i;
            conPrimos++;
        }
    }
    return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rodrigo
Val: 1.755
Plata
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Lista de par impar y primos

Publicado por Rodrigo (539 intervenciones) el 03/10/2020 19:19:39
Unas sugerencias:

- La funcion esPrimo deberia retornar algun valor despues del ciclo.

- El ciclo de esa funcion podria terminar en la raiz cuadrada del numero, y evitar llegar a la mitad como esta ahora.

- Extremando la optimizacion, podria chequear si el numero es par 1 vez antes del ciclo y luego en el ciclo solo chequear numeros impares desde 3 en adelante.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Lista de par impar y primos

Publicado por Nacho (181 intervenciones) el 03/10/2020 19:40:16
Efectivamente, si la función EsPrimo recorre el ciclo entero devolverá como resultado cualquier cosa, pues cualquier cosa habrá en el acumulador, así que deberá acabar con un return true.

Ya sabemos que se puede optimizar mucho, pero para alguien que empieza poniendo esto de código
https://www.lawebdelprogramador.com/foros/Dev-C/1761596-Puden-ver-lo-que-esta-mal.html
tampoco vamos a pedir que le lleve al profe ahora un código de 10.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar