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

Soma Dos Números De Uma Série, Com Uso De Fatorial


Mariana Duarte

Pergunta

/* 7. Fazer um programa para calcular a soma dos N primeiros termos da série abaixo:

100/0! + 99/1! + 98/2! + 97/3! + ...*/

#include<stdio.h>
#include<conio.h>
     int fat(int n) 
     {
     int cont=1,i;
     for (i=1;i<=n;i++)
     cont*=i;
     return cont;
     }
     
main() 
{
  float soma=0.0,num=100.0;
  int n,s,denom=0;
  
  printf("Insira um numero:\n");
  scanf("%d",&n);
  for(s=1;s<=n;s++)
  {                   
     soma=(num/fat(denom))+soma;
     denom++;
     num--;  
  }  
  printf("\nSoma=%f",soma);
  getch();
}

Bom...

Um amigo fez esta questão, mas ele não me explicou direito.. =/

Gostaria de saber se alguém poderia tentar me explicar ou mostrar-me um jeito mais simples de resolvê-la, se tiver.

Agradeço a quem puder ajudar...

Editado por kuroi
Adicionar tag code
Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

o que exatamente você não entendeu?? a logica ou os codigos ou os dois??

basicamente deixa pronta uma funcao que retorna o fatorial de o numero passado por parametro (int fat(int n)).

ai assim que o programa roda e o numero é digitado, ele faz uma rotina de repeticao pra contar de 0 ate o numero digitado. dentro dela ele vai somando um numero de 0 ate o numero digitado, e vai subtraindo outro do numero digitado ate chegar a 0. ai ele calcula a divisado do primeiro pelo fatorial do segundo e vai adicionando ao total.

Link para o comentário
Compartilhar em outros sites

  • 0
Porque essa função fatorial teve que ser usada antes do main?

Não poderia ser usada dentro?

na verdade, ela não é usada antes do main, é usada dentro sim. ele só aparece antes do main, porque esta sendo declarada, entende??

desse modo, qualquer hora que você quiser calcular fatorial no meio do seu programa em vez de digitar o codigo todo do calculo, você apenas chama a sua funcao que ela já calcula pra você.

no exemplo, ela é usada aqui:

for(s=1;s<=n;s++)

{

soma=(num/fat(denom))+soma;

denom++;

num--;

}

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,3k
    • Posts
      652,4k
×
×
  • Criar Novo...