Ir para conteúdo

Arquivado

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

Bloodshed

Fatorial

Recommended Posts

Para o fatorial é fácil, podemos usar recursividade.

 

int fatorial(int n) {   if(a==1 | a==0) return 1;   else return (a*fatorial(a-1));}

Entendeu?

n! = n * (n-1) * (n-2) * ... * 2 * 1

 

Isso que a função faz, pega o n e multiplica por n-1, n-2, até chegar ao 1.

 

Lembrando que 0! = 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como é iniciante, pode achar recursão meio difícil. Aqui vai o jeito sem recursão:

 

int fatorar(int n){	int res = 1;	for( int i = 1; i <= n; ++i ) {		res = res * i;	}	return res;}

Compartilhar este post


Link para o post
Compartilhar em outros sites

e ae Bloodshed..

 

você tb pediu um exemplo pra calcular o MMC... beleza.. ae vai :D :

 

//o laço "while" soh vai terminar quando encontrar um numero que for divisivel pelos tres..int acha_mmc(int a, int b, int c){	 int mmc=2;	 while((mmc%a!=0)||(mmc%b!=0)||(mmc%c!=0)){ 		mmc++;	  }	 return (mmc);}

não desanime da linguagem.... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

programe muito...

Compartilhar este post


Link para o post
Compartilhar em outros sites

:) HI

 

 

já agora pode vers aqui o meu

#include<stdio.h>#include<conio.h>#include<iostream.h>main(){  int n,fac,i;  textbackground(9);  clrscr();  textcolor(14);  gotoxy(30,3);  cout<<"F A C T O R I A L";  gotoxy(7,7);  cout<<"Introduza um n£mero para calcular o seu factorial ";  gotoxy(7,9);  cin>>n;  fac=1;  for (i=1;i<n+1;i++)	fac=fac*i;  gotoxy(7,11);  cout<<"O Facturial de "<<n<<" ‚ " <<fac;  gotoxy(63,24);  cout<<"Enter para Sair ";  getch();}

 

 

... :) Cypher

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.