Respuesta:
Algoritmo factorial_con_digitos_8
Definir n, factorial, digitos_8 Como Entero
Definir i, j Como Entero
Escribir "Ingrese un número: "
Leer n
// Calcular el factorial de n
factorial <- 1
Para i <- 1 Hasta n Con Paso 1 Hacer
factorial <- factorial * i
FinPara
Escribir "El factorial de ", n, " es ", factorial
// Contar cuántos dígitos iguales a 8 hay en el factorial
digitos_8 <- 0
Mientras factorial > 0 Hacer
Si Trunc(factorial MOD 10) = 8 Entonces
digitos_8 <- digitos_8 + 1
FinSi
factorial <- Trunc(factorial / 10)
FinMientras
Escribir "Hay ", digitos_8, " dígitos iguales a 8 en el factorial."
FinAlgoritmo
Explicación:
Este algoritmo calcula el factorial de un número ingresado por el usuario y cuenta cuántos dígitos iguales a 8 hay en el resultado del factorial. El proceso se explica de la siguiente manera:
- Se definen las variables enteras n, factorial y digitos_8, y se inicializan en 0.
- Se solicita al usuario que ingrese un número n.
- Se calcula el factorial del número n mediante un bucle "Para" que multiplica todos los números del 1 al n y almacena el resultado en la variable factorial.
- Se muestra en pantalla el valor del factorial calculado.
- Se cuenta cuántos dígitos iguales a 8 hay en el factorial calculado, utilizando un bucle "Mientras" que divide el factorial por 10 y verifica si el residuo de la división es igual a 8, utilizando la función Trunc para obtener el número entero y descartar los decimales. Si se cumple esta condición, se aumenta en 1 la variable digitos_8.
- Se muestra en pantalla la cantidad de dígitos iguales a 8 encontrados en el factorial.