AnswerBun.com

¿Cómo calcular factorial de un número en Pseint?

Stack Overflow en español Asked on January 4, 2022

[![introducir la descripción de la imagen aquí][1]][1]

Amigos, estoy tratando de calcular el factorial con pseudocódigo de Pseint.

Algoritmo algo1
    Leer num
    cont<-0 
    fact<-1 
    repetir
    fact<-fact*num 
    cont<-cont+1 
    hasta que (cont<=num)
        Escribir fact
        
FinAlgoritmo

Lastimosamente, no me da el resultado correcto, lo ejecuto y da el mismo valor

> 5
5

2 Answers

Te recomiendo que repases la definición de factorial, por ejemplo, en Wikipedia.

El algoritmo de forma iterativa puede quedar como:

Proceso sin_titulo
    Definir numero Como Entero;
    Definir contador Como Entero;
    definir factorial Como Entero;
    Leer numero;
    contador<-1;
    factorial<-1;
    Mientras contador<numero Hacer
        contador<-contador+1;
        factorial<-factorial*contador;
    Fin Mientras
    Escribir factorial;
FinProceso

De forma alternativa, se puede plantear definiendo una función recursiva, es decir, que se llame a si misma:

SubProceso f<- Factorial ( n )
    definir f Como Entero;
    Si n <0 Entonces
        escribir "Error factorial solo definido para número naturales";
        f<--1;
    Sino 
        Si n<=1 Entonces
            f =1;
        SiNo
            f<-Factorial(n-1)*n;
        FinSi
    FinSi
Fin SubProceso

Proceso sin_titulo
    Definir n Como Entero;
    Leer n;
    Definir f Como Entero;
    f<-Factorial(n);
    Escribir f; 
FinProceso

Answered by Emilio J on January 4, 2022

Esta mal tu esquema de factorial. Estás multiplicando el numero muchas veces por si mismo (estas elevando el numero por si mismo, 5 elevado a 5 es 3125), tienes que multiplicar el contador por el numero factorial.

cont=cont+1
fact=fact*cont

(eso debería estar dentro del bucle)

Answered by Matias on January 4, 2022

Add your own answers!

Related Questions

Como iterar un entero en python?

1  Asked on September 20, 2020 by kilex

   

419 Page Expired, laravel JS

1  Asked on September 14, 2020 by yeisson-pinilla

     

¿Cómo crear un método para modificar la contraseña en node.js?

1  Asked on September 12, 2020 by osleynin-mambell-ramos

   

Actualizar datos en SSIS

1  Asked on September 11, 2020 by guillermo-ricardo-spindola-bri

     

Falta enviar datos del input a phpmyadmin (PHP)

0  Asked on September 11, 2020 by hatori-hanso

   

¿Cómo valido si una cadena es vacía en Python?

1  Asked on September 10, 2020 by fedorqui-so-deja-de-daar

   

Envío SMS no se envía pero informa éxito en la operación

2  Asked on September 8, 2020 by briast

     

Configuracion del web.Config

1  Asked on September 5, 2020 by afar1793

         

Iniciar un fragment al pulsar una notificación

0  Asked on September 3, 2020 by lukaman

 

Eventos del ratón con Python

0  Asked on September 3, 2020 by hector-lacunza

 

Problemas con el dismiss();

1  Asked on September 2, 2020 by tony-ormaza

 

No me funciona el @media

1  Asked on August 29, 2020 by francisco

       

Array Angular – IONIC

1  Asked on August 25, 2020 by isg-lokimil

   

Ask a Question

Get help from others!

© 2023 AnswerBun.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP