Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

decynogueira

[Resolvido] Calcular serie S = 1 + 1/1! + 1/2! + 1/3! + 1

Recommended Posts

Sou Iniciante e estou com dificuldade em criar uma função recursiva, em linguagem C, que calcule o valor da série S descrita a seguir para um valor n>0 a ser fornecido como parâmetro para a mesma: S = 1 + 1/1! + 1/2! + 1/3! + 1 /n!.

 

Se alguem poder me ajudar eu agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gente valeu pela força, mas depois de muito tentar consegui resolver em linguagem de forma bem prática e de fácil entendimento.....

Segue o algoritmo ....

 

#ifndef PF_LEDI_02_H_

#define PF_LEDI_02_H_

 

//Definicao dos prototipo das funcoes que serao usadas.

 

float fatorial(float S);

 

float SomaSerie(int n);

 

#endif /*PF_LEDI_02_H_*/

/*=========================================================================*/

#include <stdio.h>

#include <stdlib.h>

#include "PF_LEDI_02.h"

 

/*=========================================================================*/

float fatorial(float S)

{

if(S <= 2)//Teste condicional se menor ou igual a dois retorna

//o Proprio S

return S;

else//Retorna S * o fatorial de S-1

return S * fatorial(S - 1);

}

/*=========================================================================*/

//Funcao para calcular o valor da serie n > 0

float SomaSerie(int n){

//Declaracao da variavel local

float S = 0;

if (n == 0) //Testa o valor de n (parametro)

return 1;

else{

S = S + (SomaSerie(n-1) + (1.0/ fatorial(n)));

return S;//Retorna a soma da divisao de S funcao principal

}

}

/*=========================================================================*/

#include <stdio.h>

#include <stdlib.h>

#include "PF_LEDI_02.h"

 

int main(void) {

//Declaracao das variaveis globais

float num;

float soma;

 

printf("SOMA SERIE S: ");

printf("\nDigite um numero maior zero: ");

scanf("%f", &num);

soma = SomaSerie(num);//Soma recebe a chamada da funcao Serie

//Impressao do resultado da soma da Serie

printf("\nSoma Serie da Sequencia N!: %.10f ", soma);

 

return EXIT_SUCCESS;

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.