Autor
|
Tema: NUMEROS PRIMOS (Leído 6,081 veces)
|
alviera
Desconectado
Mensajes: 1
|
Buenos dias me gustaria que alguien pudiera explicarme como realizar un programa sencillo que me permita saber si el numero introducido es primo o no en c++, se que el programa deberia dividir el numero introducido por todos los numeros que le preceden incluso hasta llegar al mimso numero pero no se como progamarlo.
Nota: estoy empezando a programar sin embargo manejo la mayoria de las funciones if, do while, for, else, etc, etc, etc.
Saludos.
|
|
« Última modificación: 4 Diciembre 2010, 16:24 pm por alviera »
|
En línea
|
|
|
|
Littlehorse
All the world's a stage
Moderador
Desconectado
Mensajes: 2.714
Nie Dam Sie
|
Bienvenido/a al foro alviera. Pone lo que llevas hecho y vemos si te podemos ayudar, en esta sección no se hacen tareas. Tal vez sea conveniente que revises los mensajes similares que aparecen justo abajo de este post.
Saludos
|
|
|
En línea
|
An expert is a man who has made all the mistakes which can be made, in a very narrow field.
|
|
|
Rockmore
Desconectado
Mensajes: 18
|
Es muy sencillo. En un bucle metes el número a comprobar que se divida con exactitud entre el 2 y un número entero menos que él mismo, y si en algún momento se encuentra alguno, ese número no es primo. Es más, incluso te diré que ese mismo bucle lo puedes poner que se repita hasta la mitad del número introducido, ya que si no es divisible entre la primera mitad, tampoco lo será entre la segunda.
|
|
|
En línea
|
|
|
|
do-while
Desconectado
Mensajes: 1.276
¿Habra que sacarla de paseo?
|
¡Buenas!
Y no es que haya que comprobarlo hasta la mitad, sino que con comprobarlo hasta la raiz cuadrada basta, ya que si no divisible por un elemento menor o igual que la raiz cuadrada, tampoco lo es por uno mayor.
¡Saludos!
|
|
|
En línea
|
- Doctor, confundo los números y los colores. - Vaya marrón. - ¿Marrón? ¡Por el culo te la hinco!
|
|
|
N0body
Desconectado
Mensajes: 95
|
Me parece mucho más adeuado la respuesta que dio do while sobre la raiz cuadrada, ya que ésta es el "punto de simetría" de los divisores de un número. Un número entero "a" es divisor de otro entero "n" sí y sólo sí a*b=n, dónde "b" también es divisor de "n". Si a<raiz(n) entonces b>raiz(n)... y viceversa, osea que si no hallamos divisores antes de la raíz del número, podemos asegurar que tampoco los hay después.
También te sugiero que te acuerdes de buscar hasta la raíz del número INCLUSIVE, de otro modo el programa señalaría como primo a los cuadrados perfectos de primos.
Y por último te sugeriría, ya que sólo quieres ver la primidad de un número determinado, que abandones la búsqueda si encuentras algún divisor, acuerdate que no quieres saber la cantidad total de divisores, sólo con 1 bastará..
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[Python 2.6] Funcion generadora de Numeros primos (5.761.455 primos en 19 seg)
Scripting
|
katas
|
2
|
9,885
|
10 Marzo 2010, 01:50 am
por Novlucker
|
|
|
Numeros Primos C++ [resuelto]
Programación C/C++
|
abner30
|
2
|
4,828
|
12 Junio 2011, 02:35 am
por abner30
|
|
|
Calculo de números primos
« 1 2 3 »
Programación C/C++
|
jamatbar
|
27
|
12,716
|
14 Noviembre 2011, 23:33 pm
por rir3760
|
|
|
Numeros primos (no encuentro solucion)
Java
|
Norlak
|
4
|
3,742
|
24 Noviembre 2011, 17:40 pm
por Norlak
|
|
|
Demultiplicación de números o como conseguir los dos primos q componen un num
Seguridad
|
erChucky
|
1
|
2,792
|
14 Octubre 2013, 22:10 pm
por ivancea96
|
|