Fundamentos:Solucións:Cálculo do Factorial dun Número

De ASIRodeira

Escribir un programa que solicite ó usuario un número enteiro positivo e visualice o seu factorial. O factorial dun número é o producto do número por todos os anteriores ata chegar a 1, por exemplo:

factorial de 5 (5!) = 5*4*3*2*1

Por definición, o factorial de 0 (0!) é 1.


Índice

Solución de Xavi:

Pseudocódigo

 Inicio-Programa
   Pedir N
   R=factorial(N)
   Visualizar N
 Fin-Programa
 

<code>

 // Recibe un número N enteiro positivo e
 // devolve o seu factorial
 //
 función factorial(N)
   R=1
   Mentras(N>1)
     R=R*N;
     N=N-1;
   FinMentras
   Devolver R;
 fin-función factorial

</code>

Implementación en C

 
#include <stdio.h>
 
long factorial(int n);
 
// Función factorial
// Recibe: Un número (n)
// Devolve: O seu factorial (n!)
//
long factorial(int n)
{
  int res=1;
 
  while(n>1)
  {
    res=res*n;
    n=n-1;
  }
  return res;
}
 
// Función Principal
//
void main(void)
{
  int num,r;
 
  printf("Número?:");
  scanf("%d",&num);
  r=factorial(num);
  printf("%d!=%d\n",num,r);
}
 


Solución de Boube:

Implementación en C

 
#include <stdio.h>
 
long factorial(int n);
 
/* 
 Funcion factorial
         Recibe: Un numero (n)
         Devolve: O seu factorial (n!)
*/
 
long factorial(int n)
{
  int res=1;
 
  while(n>1)
  {
    res=res*n;
    n=n-1;
  }
  return res;
}
 
 
 
void main(void)
{
  int num;
 
  printf("Numero?:");
  scanf("%d",&num);
  printf("%d!=%d\n",num,factorial(num));
}
 
Ferramentas persoais