Desarrollar un algoritmo que solicite al usuario una cantidad entera positiva mayor que diez, validada de manera que deba seguir solicitando la cantidad hasta que sea correcta, y luego muestre los números que no son primos desde dos hasta esa cantidad leída, y finalmente después, muestre en pantalla cuál fue el promedio de los números que no son primos encontrados y cuál fue el número mayor de todos los números que no son primos
Algoritmo NumerosNoPrimos
// Declaración de variables
Definir cantidad Como Entero
Definir no_primos Como Lista de Entero
Definir suma_no_primos, promedio Como Real
Definir mayor_no_primo Como Entero
// Solicitar y validar la cantidad
Repetir
Escribir "Ingrese una cantidad entera positiva mayor que 10:"
Leer cantidad
Hasta Que cantidad > 10
// Encontrar números no primos desde 2 hasta la cantidad ingresada
Para i Desde 2 Hasta cantidad Hacer
Si No EsPrimo(i) Entonces
Agregar i a no_primos
FinSi
FinPara
// Calcular el promedio y encontrar el mayor de los números no primos
suma_no_primos <- 0
Para cada numero En no_primos Hacer
suma_no_primos <- suma_no_primos + numero
Si mayor_no_primo < numero Entonces
mayor_no_primo <- numero
FinSi
FinPara
Si Longitud(no_primos) > 0 Entonces
promedio <- suma_no_primos / Longitud(no_primos)
Sino
promedio <- 0
FinSi
// Mostrar resultados
Escribir "Números que no son primos:", no_primos
Escribir "Promedio de los números no primos:", promedio
Escribir "Número mayor de los números no primos:", mayor_no_primo
FinAlgoritmo
// Función auxiliar para verificar si un número es primo
Funcion EsPrimo(n Como Entero) Como Booleano
Si n <= 1 Entonces
Retornar Falso
FinSi
Para i Desde 2 Hasta Raiz(n) Hacer
Si n Mod i = 0 Entonces
Retornar Falso
FinSi
FinPara
Retornar Verdadero
FinFuncion