Diseñar un algoritmo que me permita ingresar cualquier número y determinar si el número ingresado es primo.
Solución
- Entrada: 19
- Salida: Si es número primo
#include <iostream> using namespace std; int main(){ int a=0,i,n; cout<<"Ingrese numero"<<endl; cin>>n; for(i=1;i<(n+1);i++){ if(n%i==0){ a++; } } if(a!=2){ cout<<"No es Primo"; }else{ cout<<"Si es Primo"; } return 0; }
no funciona con los negativos
ResponderEliminarNo es diferente con los números negativos. Si el numero es negativo, basta convertirlo en positivo. Después de cin>>n; poner:
ResponderEliminarif(n<0){n=n*(-1)}
Se puede convertir en positivo con abs () también más fácil // es decir número absoluto
EliminarSe puede convertir en positivo con abs () también más fácil // es decir número absoluto
EliminarHay otra opcion. En el caso que quieras generar números primos, sería:
ResponderEliminarint i=2;
do {
while( (i<n)&&(n%i!=0) ) {i++;}
}
//xxx
while {i<=num};
En este caso generará varios numeros primos que componga el numero N deseado.
en lugar de (//xxx) poned lo que deseáis hacer con el pograma.
si es negativo solo pon n = abs(n) xd saludos o/
ResponderEliminarY si quiero saber si un numero cercano a 2^31 -1 (int) es primo o no, pero que no tarde como 10 segundos en calcularlo??
ResponderEliminarse puede hacer lo mismo con un bucle while en vez de un for?
ResponderEliminarcomo mostrarlos en un intervalo
ResponderEliminargracias me sirvio de mucho
ResponderEliminarQue tal buenos dias
ResponderEliminarComo puedo hacer que pregunte si quiero ingresar otro numero y si, si ejecutar otra vez el programa y si no terminarlo
por que el a++?
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminar#include stdio.h
ResponderEliminarusing namespace std;
void main()
{
int num=1;
int i=0;
int count=0;
printf("Bienvenido al programa que le indica si un numero es o no primo.\n\n");
while(num!=0){
printf("Introduzca un numero:");
scanf("%d",&num);
for(int i=1;i<num+1;i++){
if(num%i==0){
count++;
}
}
if(count!=2){
printf("NoPrimo\n");
}
else{
printf("Primo\n");
}
count=0;
}
printf("\nGracias por utilizar este programa.\n\n");
}
el stdio.h va entre <>
ResponderEliminarbool ComprobarSiEsPrimo(unsigned A){
ResponderEliminarunsigned contador = 2;
while (contador <= unsigned(sqrt(A)) && (A%contador != 0)){
contador++;
}
if (A == 2) return true; // lo añado como excepcion, pues no se detecta como primo
if (A%contador == 0){
return false;
} else {
return true;
}
}
Este fragmento de codigo te puede servir, si lo implementas, solo tendrias que usarlo como una funcion, donde el parametro A, es el que se evalua para saber si es primo. Si el numero a evaluar es primo, devolvera true, sino false.
#nota: para usarlo deberias incluir las librerias y . Cmath te sirve para la raiz de un numero (la funcion sqrt(n)).
Un saludo! :)
Este comentario ha sido eliminado por el autor.
ResponderEliminarcomo se hace con funciones??
ResponderEliminarque significa la variable a,i,n
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarEn esta parte del código:
ResponderEliminarfor(i=1;i<(n+1);i++){
if(n%i==0){
a++;
}
}
No es necesario que el for haga "n" ciclos, bastaría con la mitad "n/2"
for(i=1;i<(n+1)/2;i++) ya que la segunda mitad serían números mayores a la mitad del ingresado, al dividir ninguno da resto 0 :w
// numero primo
ResponderEliminar#include
using namespace std;
int main() {
int a;
int b;
int c;
int num;
cout<<"Digite un numero \n";
cin>>num;
a=num%2;
b=num%3;
c=num%5;
if(num>5){
if(a!=0 && b!=0 && c!=0){
cout<<"El numero es primo";
}else{
cout<<"El numero No es primo";
}
}else{
if(num==1 || num==4){
cout<<"El numero No es primo";
}else{
cout<<"El numero es primo";
}
}
return 0;
}
pues asi lo pense, no se si valga.
jaja salu2
ResponderEliminaresta chingadera no funciona ijodetuputamadre
ResponderEliminarqlo
no es cierto amigo 1000 disclpas sorry yo te amo <dos+uno
ResponderEliminarvisita la pagina http://edgeweb.com.mx
ResponderEliminarque sucede si le quiero agregar funciones y que dentro del mismo codigo me diga si un numero es par o impar, que me de el factorial y la potencia sera posible?
ResponderEliminartengo este codigo y queria meterle funciones y no pude alguien me puede ayudar a meterle unas tres funciones pero que haga lo mismo
ResponderEliminar#include
#include
#include
#include
#include
#include
int main(){
using namespace std;
int ciclo=0,cambiante=1,y=1,x=0,a=0;
int m=0,n=0,l=1,too=0,nooo=0,pari=0,nopari=0,mayor=0,menor=100000;
int resultado=0,resultados=0;
int arr[100];
cout<>ciclo;
cout<>arr[x];
cout<=1){
r=r*temp;
temp--;
}
cout<<" El factorial de "< mayor){
mayor=arr[d];
}
if (arr[d]< menor){
menor=arr[d];
}
}
printf(" El mayor es %d\n", mayor);
cout<<endl;
printf(" El menor es %d\n", menor);
cout<<endl;
cout<<"***************jabz solorio**************************";
cout<<endl<<endl;
return 0;
}
#include
ResponderEliminar#include
#include
#include
#include
#include
int main(){
using namespace std;
int ciclo=0,cambiante=1,y=1,x=0,a=0;
int m=0,n=0,l=1,too=0,nooo=0,pari=0,nopari=0,mayor=0,menor=100000;
int resultado=0,resultados=0;
int arr[100];
cout<>ciclo;
cout<>arr[x];
cout<=1){
r=r*temp;
temp--;
}
cout<<" El factorial de "< mayor){
mayor=arr[d];
}
if (arr[d]< menor){
menor=arr[d];
}
}
printf(" El mayor es %d\n", mayor);
cout<<endl;
printf(" El menor es %d\n", menor);
cout<<endl;
cout<<"***************jabz solorio**************************";
cout<<endl<<endl;
return 0;
}
como seria el código de un numero feliz en c++
ResponderEliminarGracias al k a escrito la linea de codigo me salvo de mi tarea gracias
ResponderEliminarGracias bro por la repuesta me salvaste de una tarea
ResponderEliminaramigos tengo un problema necesito un código para saber si un numero es primo o no, pero debo hacerlo sin sentencias de control,puedo utilizar todos los operadores que quiera, pero ninguna sentencia de control NO if, for etc.
ResponderEliminarLES AGREDE SERIA MUCHO SU AYUDA
como hago dos digitos con numeros primos con switch
ResponderEliminar