• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Gurzi

[Resolvido] numeros naturais

8 mensagens neste tópico

#include <stdio.h>
#include <stdlib.h>

main()
{
      int i,n,soma,produto;
      soma =0;
      printf("Introduza um numero");
      scanf("%d",&n);
      produto =n;
      for (n;n>0;--n)
      {
        soma=soma+n;
        produto= produto * n;
      }
      printf("Soma : %d",soma);
      printf("Produto : %d",produto);
       system("PAUSE");


}

Pessoal a soma está a funcionar bem, mas o produto nao , deveria ser algo do genero (imagem que n é 5 , 5*4*3*2*1)

e ele está a fazer 5*5*4*3*2*1 e eu queria que comessa-se logo 5*4 e nao 5*5..

alguem sabe ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Aiaiaiai, isso é um erro de matematica :)

Ora tu fazes:

produto =n;

Seguido de:

produto= produto * n; 

Ora isto irá fazer na primeira iteração do for 5*5 :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tens que inicializar soma=0; e produto=1; e depois dentro do ciclo fazes então: soma=soma+n; e produto=produto*n; eheh mas acho que ja tinhas percebido....mas clarifiquei a ideia para o "leitor mais distraido" ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

#include <stdio.h>
#include <stdlib.h>

main()
{
     int i,n,soma,produto;
     soma =n;
     printf("Introduza um numero");
     scanf("%d",&n);
     produto =n;
     n=n-1;
      for (n;n>0;n--)
     {
       soma=soma+n;
       produto= produto * n;
     }
     printf("Soma : %d",soma);
     printf("Produto : %d",produto);
      system("PAUSE");


} 

aqui está a fase final

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Hmmm... isso parece q n soma bem... uma vez que inicias o soma a 0 e não a n!

Já agora deixo-te aqui uma versao q fiz:

#include <stdio.h>
#include <stdlib.h>

main() {
 int n, soma = 0, produto = 1;
 printf("Introduza um numero: ");
 scanf(" %d", &n);

 for (; n > 0 ; n-- ) {
   soma += n;
   produto *= n;
 }

 printf("Soma : %d\n",soma);
 printf("Produto : %d\n",produto);
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

exacto faltava só trocar o soma = 0 para soma = n, obrigado bruno, um abraço

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora