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; }
38 comentarios:
no funciona con los negativos
No es diferente con los números negativos. Si el numero es negativo, basta convertirlo en positivo. Después de cin>>n; poner:
if(n<0){n=n*(-1)}
Hay otra opcion. En el caso que quieras generar números primos, sería:
int 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/
Y 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??
se puede hacer lo mismo con un bucle while en vez de un for?
como mostrarlos en un intervalo
gracias me sirvio de mucho
Que tal buenos dias
Como 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++?
#include stdio.h
using 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 <>
bool ComprobarSiEsPrimo(unsigned A){
unsigned 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! :)
Se puede convertir en positivo con abs () también más fácil // es decir número absoluto
Se puede convertir en positivo con abs () también más fácil // es decir número absoluto
como se hace con funciones??
que significa la variable a,i,n
En esta parte del código:
for(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
#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
esta chingadera no funciona ijodetuputamadre
qlo
no es cierto amigo 1000 disclpas sorry yo te amo <dos+uno
visita la pagina http://edgeweb.com.mx
que 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?
tengo este codigo y queria meterle funciones y no pude alguien me puede ayudar a meterle unas tres funciones pero que haga lo mismo
#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
#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++
Gracias al k a escrito la linea de codigo me salvo de mi tarea gracias
Gracias bro por la repuesta me salvaste de una tarea
amigos 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.
LES AGREDE SERIA MUCHO SU AYUDA
como hago dos digitos con numeros primos con switch
Publicar un comentario