Dev - C++ - Pregunta

 
Vista:
sin imagen de perfil

Pregunta

Publicado por wefw (1 intervención) el 05/11/2022 00:35:22
Buenas a todos, soy nuevo en esto de la progrmacion en C++, ya que estoy en un curso de la U.
Y necesito ayuda con este problema de preguntas.Quiero mostrar todos los numeros primos dentro de un rango pero al mostrarlos no me aparece nada, quisiera saber cual es el problema
#include<iostream>
using namespace std;
int main ()
{
int x,z,j,i,contador=0;
cout<<"ingrese los valores"<<endl;
cin>>x>>z;
for(int i=x;i<=z;i++)
{
for(int j=1;j<=z;j++)
{
if(i%j==0)
{
contador++;
}
}
}
if(contador<=1)
{
cout<<i;
}
}
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
sin imagen de perfil
Val: 1
Ha aumentado su posición en 3 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Pregunta

Publicado por antonio (85 intervenciones) el 05/11/2022 19:01:38
Hola buenas es mas fácil crear un método que compruebe si el numero es primo y recorrer solo de x a z:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include<iostream>
using namespace std;
//https://parzibyte.me/blog/2019/09/26/cpp-numero-primo/
bool esPrimo(int numero) {
  // Casos especiales
  if (numero == 0 || numero == 1 || numero == 4) return false;
  for (int x = 2; x < numero / 2; x++) {
    if (numero % x == 0) return false;
  }
  // Si no se pudo dividir por ninguno de los de arriba, sí es primo
  return true;
}
int main ()
{
    int x,z,contador=0;
    cout<<"ingrese el valor1"<<endl;
    cin>>x;
    cout<<"ingrese el valor2"<<endl;
    cin>>z;
    for(int i=x;i<z;i++){
        if(esPrimo(i))
            cout<<i<<", ";
    }
}
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