Fundamentos:Solucións:Cálculo do Número e
De ASIRodeira
Escribir un programa que calcule o número e cunha resolución a elexir polo usuario. A resolución indicará o número de términos que se teñen que utilizar para o cálculo, xa que se calculará utilizando a sucesión de Mac Laurin:
e=1+1/1!+1/2!+1/3!+1/4!....
Índice |
Solución de Xavi:
Pseudocódigo
Inicio-Programa
Pedir r
nume=1
Mentras (r>=1)
nume=nume+1/factorial(r)
r=r-1;
Fin-Mentras
Visualizar nume
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 nume,r; printf("Cálculo do Número e\n===================\n"); printf("Resolución do Cálculo?:"); scanf("%d",&r); nume=1; while (r>=1) { nume=nume+1.0/factorial(r); r=r-1; } printf("e=%d\n",nume); }
Solución de boube:
Implementación en C
#include <stdio.h> int factorial (int c); int factorial (int c) { int res,n; n=c; res=1; while(c>1) { res=res*c; c=c-1; } return res; } main () { int resolucion, i; double resultado; printf ("Introduza resolucion:"); scanf ("%d", &resolucion); for (i=0;i<resolucion;i++) { resultado=resultado+(1.0/factorial(i)); } printf ("O resultado e: %lf \n", resultado); }



