En esta ocasión realizamos un algoritmo para determinar si un numero es primo, este algoritmo lo realizamos y probamos con el simulador Pseint, si lo necesitas te dejo un enlace para descargar el código.
Desarrolle un algoritmo que permita leer un valor entero positivo n y determinar si es primo o no
Haz clic aquí para suscribirte a mi canal
Algoritmo para saber si un numero es primo en pseint
Bien manos a la obra, empecemos a explicar este algoritmo, o por lo menos tratare de confundirlos☻.
Bueno entonces lo primero que hacemos es ponerle un nombre, en mi caso le puse algoritmodetarea.
Algoritmo deTarea
Con la palabra reservada definir declaramos las variables x, n y contador, estas variables las declaramos de tipo entero.
Definir x,n,contador Como Entero
Con la función escribir pedimos que se ingrese un número.
Escribir «Escribe un número»
Este número lo almacenamos con la función leer en la variable n.
leer n
Inicializo la variable x con el número 1.
x = 1
También inicializo la variable contador con el número cero.
contador = 0
Utilizamos un ciclo mientras que se estará repitiendo mientras la variable x, que como sabemos empieza valiendo 1, sea menor o igual al número ingresado por teclado en la variable n.
Mientras x <= n Hacer
Mientras la condición se cumpla, entonces vamos evaluando si el número almacenado en la variable n al dividirlos con la función MOD por lo que vaya valiendo x.
si n mod x == 0 Entonces
Si el residuo de esta división es igual a cero, entonces significa que el número ingresado en la variable n es divisible entre lo que vale x.
contador = contador + 1
Por lo tanto la variable contador la voy incrementado de uno en uno, cada que esta condición se cumple.
Como sabemos los números primeros son aquellos que únicamente tienen dos divisores, el mismo número y el número 1.
FinSi
Incrementamos la variable x en uno, para continuar dividiendo el número almacenado por teclado en n, por todos los números anteriores a dicho número.
x = x + 1
Como ya mencionaba el objetivo de este algoritmo es dividir el numero ingresado por teclado por todos los números anteriores a dicho número y aquellos números que solo tengan dos divisores entonces esos números son primos.
FinMientras
Bien pues simplemente evaluamos si la variable contador es igual a dos, en pocas palabras estamos evaluando si el numero ingresado por el usuario únicamente tuvo dos divisores.
si contador == 2 Entonces
Si la condición se cumple, entonces mostramos un mensaje en pantalla indicando que el número es primo.
Escribir «El número «,n,» es primo»
SiNo
Si la condición no se cumple, entonces mostramos un mensaje en pantalla donde indicamos que el número no es primo.
Escribir «El número «,n,» no es primo»
FinSi
Finalmente cerramos la condición y finalizamos el algoritmo.
FinAlgoritmo
Aquí puedes ver el funcionamiento de este algoritmo.
Diagrama de flujo para saber si un numero es primo
Te comparto el diagrama de flujo de este algoritmo.
Haz clic aquí para suscribirte a mi canal
Algoritmo para saber si un numero es primo python
Te comparto la solución de este algoritmo en lenguaje de programación Python.
n = int(input(«Ingresa un numero: «))
x = 1
c = 0
while x <= n:
if n % x == 0:
c = c + 1
x = x + 1
if c == 2:
print(«El numero «,n,» es primo»)
else:
print(«EL numero «,n,» no es primo»)
Pseudocodigo para saber si un numero es primo
Te comparto la solución de este algoritmo, utilizando el ciclo para.
Algoritmo detarea
Definir x,n,c Como Entero
Escribir «Escribe un numero»
leer n
c = 0
para x = 1 Hasta n Con Paso 1 hacer
si n mod x == 0 Entonces
c = c + 1
FinSi
Fin Para
si c == 2 Entonces
Escribir «El numero «,n,» es primo»
SiNo
Escribir «El numero «,n,» no es primo»
FinSi
FinAlgoritmo
Encontrar todos los números primos entre dos números enteros ingresados por teclado
Te comparto otra variante de este algoritmo, para encontrar los números primos comprendidos entre 2 números.
Algoritmo detarea
definir a,b,c,x,aux como entero
Escribir «Ingresa 2 numeros»
leer a,b
si a == b Entonces
Escribir «Los numeros deben ser diferentes.»
SiNo
si a > b Entonces
aux = a
a = b
b = aux
FinSi
Mientras a <= b hacer
x = 1
c = 0
Mientras x <= a Hacer
Si a mod x == 0 Entonces
c = c + 1
FinSi
x = x + 1
FinMientras
Si c == 2 Entonces
Escribir a
FinSi
a = a + 1
FinMientras
FinSi
FinAlgoritmo
Determinar si un numero es primo en c
#include<stdio.h>
int main()
{
int i = 1,n,c = 0;
printf(«Ingresa un numero\n»);
scanf(«%d»,&n);
while (i <= n)
{
if (n % i == 0){
c++;
}
i++;
}
if (c == 2){
printf(«El numero es primo»);
}
else{
printf(«El numero no es primo»);
}
return 0;
}
Bien amigos esta es la solución de este algoritmo, espero haberte explicado lo mejor posible, o por lo menos confundirte para que no me hagas preguntas☻ les comparto el código, espero les guste y más que nada que les pueda ser de utilidad, un saludo y nos vemos en la próxima entrega.
Me salvaste la vida.