Grupo de C++
Publico Grupo
Publico Grupo
Active 22 horas
Este grupo esta relacionado con nuestro curso profesional de C++. Aquí se comparten temas... View more
Publico Grupo
Cómo saber si un número es primo o no, usando un ciclo for en C++.
Cómo saber si un número es primo o no, usando un ciclo for en C++.
Posted by Enzo Ariel Balderrama on 12 enero, 2023 en 11:43 amHola, llevo tiempo intentando y no me sale. Mi problema es este, a la hora de poner un n° primo sale todo bien. Pero cuando no lo es se repite el cout “Es un numero primo.” Hasta que al final sale que no lo es.
Angel Sánchez respondido 1 año, 11 meses 2 Miembros · 5 Respuestas- 5 Respuestas
Este es el archivo .cpp
Ya estoy preparando la respuesta, pero me puedes ir diciendo cual es tu logica en tu programa? Para ver en que más te puedo ayudar 😀
Te dejo el código y anexo el archivo 😀
// Crear un programa en C++ que diga si un numero es primo o no.
#include <iostream>
using namespace std;
int main() {
int num = 0, divisiones = 2, resultado = 0;
//Pide al usuario que ingrese un número para determinar si es primo o no
cout << "Ingrese un numero para saber si es primo o no: ";
cin >> num;
//Verifica si el número es menor o igual a 1. Si es así, no es primo y termina el programa
if (num <= 1) {
cout << num << " no es primo." << endl;
return 0;
}
//Ciclo for para recorrer desde 2 hasta el número dado.
for (divisiones = 2; divisiones < num; divisiones++) {
//Obtiene el residuo de la división
resultado = num % divisiones;
//Si el residuo es cero, entonces el número no es primo y termina el programa
if (resultado == 0) {
cout << num << " no es primo." << endl;
return 0;
}
}
//Si se ha recorrido el ciclo y no se ha encontrado ningún número divisible, entonces el número es primo.
cout << num << " es primo." << endl;
//Termina el programa
return 0;
}
Yo quería que cuando el contador marcara 2 me diera el numero como ‘Primo’ y cuando fuese >2 lo marque como ‘No primo’. Ahora comprendo, yo usé la cantidad de veces que el resto daba 0, y así el contador aumenta. Y probablemente se repetía la respuesta una y otra vez porque no habia ningun codigo que le indique que pare a excepción de (division <= num), y por eso paraba con la misma cantidad del numero. Basicamente mi contador no hacia nada, y el primer “if” no sirve.
Tambien comprendí por fin el uso del codigo ‘return 0’
Gracias por la respuesta.
Inicia sesión para responder.