Ir para conteúdo
Fórum Script Brasil
  • 0

Determinação da constante 'e'. Soma de séries em C.


pedrovg

Pergunta

Tentei determinar o valor de 'e'. Como é uma série tinha que escolher quando chegar num certo ponto para parar, mas ele não está parando onde quero. Ou dá o valor errado, se coloco no while, fat ou e, ou não dá certo a partir de num = 3. Vou colocar o codigo do programa:

[color=red]#include <stdio.h> 

int main(void) 
{ 
    int num=1, fat=1; 
    float e=1; 
    
    while(num != 2){ 
            
    while (num > 1){ 
          fat *= num; 
          --num; 
          } 
    e += (float) 1 / fat; 
    ++num;} 
    printf("%.10f", e); 
    
    fflush(stdin); 
    getchar(); 
    return 0; 
}[/color]

Valeu,

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

seria melhor se voce colocasse a questao aqui!

o fato de não da certo o while( num != 3 ) ou != 4, assim em diante..

é porque no seu programa, num fica oscilando entre 1 e 2, o tempo todo.

logo, nunca chegará a maior do que 2

sendo assim: loop infinito

é simples, faça passo a passo no papel

escrevendo os valores das variaveis em cada linha

como se estivesse rodando o programa no papel

que você vai notar o que acontece

isso se chama teste de mesa

particularmente, eu digo

sem isso, eu não sou ninguém!

Editado por hyeNna
Link para o comentário
Compartilhar em outros sites

  • 0

Não entendi muito bem o que quis dizer. Tentei o teste de mesa,´peseudocódigo, mas não vejo o que está errado. Porque coloquei o valor do núemro que vai ser o fatorial como sentinela e não o valor de e. Assim, poderia escolher até que número quero calcular.

Link para o comentário
Compartilhar em outros sites

  • 0

Quero calcular o valor de 'e' pela série e=1+1+1/2! + 1/3! +1/4! +...+1/n!, que e uma série de Taylor para e^1.

Já que 0! e 1! = 1 pensei em substituir por e=1/0! + 1/1! +1/2! +...+ 1/n!, que fornce o mesmo resultado, mas não estou conseguindo parar no 'n' escolhido para a precisão.

valeu

Link para o comentário
Compartilhar em outros sites

  • 0

aki...eu tenho um codigo em que calcula fatorial, só q tah em c++,...dá só uma olhada

#include <iostream>
#include <cmath>
using namespace std;

int main()
{
   long double N, fatorial, fracao, inteiro;
   long double E = 0;
   long double parcial = 1.;
   char opcao;
   do
   {
      system("cls");
      cout<<"calculador de fatorial.\n"<<endl;
      cout<<"digite o valor de N para a formula:"<<endl;
      cin>>N;
      fracao = modf (N, & inteiro);
      while (N < 0 || fracao != 0)
      {
         cout<<"opcao incorreta!"<<endl<<"digite novamente:"<<endl;
         cin>>N;
         fracao = modf (N, & inteiro);
      }
      for (float j = 1; j <= N; j++)
      { 
         for (float i = 1; i <= j; i++)
         {
            parcial *= i;
         }
         E += 1./parcial;
         parcial = 1.;
      }
      cout<<"resultado da formula e:"<<E+1<<endl;
      cout<<"deseja realizar uma nova operacao?(s/n)"<<endl;
      cin>>opcao;
      E = 0;
   }while (opcao == 's');
   system("pause");
   return 0;
}

tah aew

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...