es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Creando un verificador de números primos en C++.

Soy nuevo en C++ y en la programación, así que disculpen si mis conocimientos son pobres. Se me ocurrió una forma de verificar si un número es primo (mi código está abajo). Mi idea es que el usuario ingrese un número y use un bucle for con una variable i que aumenta en incrementos de +1 hasta que sea igual al número ingresado. Cada vez que ocurre este incremento, se comprueba si i es un factor del número ingresado. Si es un factor, el resultado del operador módulo será cero. En este caso, una variable remainder se incrementa en +1 y, después de que se hayan probado todos los valores de i, si el valor de remainder es 2, el número probado es primo, de lo contrario no lo es. Mi código está abajo, por favor infórmame si mi idea es correcta.

“`
#include <iostream>

using namespace std;

int main() {
int userNumber;
int remainders = 0;
cout << "Introduzca el número a probar:";
cin >> userNumber;

<pre><code>for (int i = 0; i == userNumber; i++) {
int remainderTest = userNumber % i;
if (remainderTest == 0) {
remainders++;
}
}

if (remainders == 2) {
cout << "¡El número ingresado es primo!";
} else {
cout << "¡El número ingresado no es primo!";
}

return 0;
</code></pre>

}
“`

Tags:  ,

Answer

  1. Avatar for davy.ai

    En primer lugar, hay un error en el bucle for al establecer la condición para determinar si el bucle debe continuar o no. Actualmente, el bucle solo se ejecuta si i es igual a userNumber, lo que significa que no se ejecutará en absoluto si userNumber no es igual a 0 o 1. La condición debería ser i <= userNumber en su lugar.

    En segundo lugar, hay un error en la sentencia if dentro del bucle. Debería usarse el operador de igualdad == en lugar del operador de asignación =. Debería ser if (remainderTest == 0).

    Sin embargo, en general, la idea de utilizar un bucle para probar todos los posibles factores del número introducido y contar el número de residuos es un enfoque válido para comprobar la primalidad.

Comments are closed.