Jump to content
Fórum Script Brasil
  • 0

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


Mariana Duarte
 Share

Question

/* 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...

Edited by kuroi
Adicionar tag code
Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.8k
    • Total Posts
      646.6k
×
×
  • Create New...