Ir para conteúdo
Entre para seguir isso  
overclock in Intel i7

Calcular o fatorial de um número em C++

Mensagem Recomendada

Gente, boa tarde.

Tenho que desenvolver um algoritmo em C++, para o calculo de um número fatorial (n!).

Fui pegando alguns códigos, "remendando" um no outro, e saiu isso:

    #include 
#include
#include
#include

int a=0,b=0,c=0,d=0;

int fatorial(int x)
{
c=a-1;
d=1;
while(c>0)
{
d=0;
b=c;
while(b>0)
{
if (b&1)
{
d+=a;
}
b>>=1;
a<<=1;
}
a=d;
c–'\150';
}
}

int main()
{
printf(”Digite um numero: “);
scanf(”%i”, &a);
if(a<=0)
{
printf(”\t\n Numero invalido!\n\n”);
system(”PAUSE”);
return EXIT_SUCCESS;
}
else
fatorial(a);
printf(”\n O fatorial do numero é: %i\n\n”,d);


system(”PAUSE”);
return EXIT_SUCCESS;
}

Tentei compilar no Dev C++, só que dá 4 erros.

Obrigado por ajudar! ^o):*::*:


Powered by:

Pentium DualCore E2140 1.6 GHz

1 GB DDR2 667

Windows 7 RC 7100.

Eu apoio: Avise se a dica funcionou!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja se este ajuda:

#include <stdio.h>

main() {

int i, n;

printf("Informe um numero: ");

scanf("%d", &n);

long fat = 1;

for (i=1; i<=n; i++) {

fat = fat * i;

}

printf("\n O fatorial de %d eh igual a %ld.", n, fat);

}


No fim tudo dá certo, e se não deu certo é porque ainda não chegou ao fim....

Compartilhar este post


Link para o post
Compartilhar em outros sites
Gente, boa tarde.

Tenho que desenvolver um algoritmo em C++, para o calculo de um número fatorial (n!).

Fui pegando alguns códigos, "remendando" um no outro, e saiu isso:

    #include 
#include
#include
#include

int a=0,b=0,c=0,d=0;

int fatorial(int x)
{
c=a-1;
d=1;
while(c>0)
{
d=0;
b=c;
while(b>0)
{
if (b&1)
{
d+=a;
}
b>>=1;
a<<=1;
}
a=d;
c–'\150';
}
}

int main()
{
printf(”Digite um numero: “);
scanf(”%i”, &a);
if(a<=0)
{
printf(”\t\n Numero invalido!\n\n”);
system(”PAUSE”);
return EXIT_SUCCESS;
}
else
fatorial(a);
printf(”\n O fatorial do numero é: %i\n\n”,d);


system(”PAUSE”);
return EXIT_SUCCESS;
}

Tentei compilar no Dev C++, só que dá 4 erros.

Obrigado por ajudar! ^o):*::*:

Cara acho que você tem que estudar mais. Da uma olhada ai se tiver alguma dúvida pergunta

#include <iostream>

using namespace std;

float fat(int x){
if(x==0 || x==1)
return 1;
else
return (x * fat(x-1));
}

int main(){
int x;
cout << "X: \n";
cin >> x;
cout << "Fatorial X = " << fat(x) << endl;
system("PAUSE");
return 0;
}


--------------

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muuuuuuuuuuuuuuuuuuuuuuuuuito obrigado a vocês que me ajudaram, mas não deu. Valeu muito msm. ^o):*::*:

Vou estudar + :*::*:(Y)


Powered by:

Pentium DualCore E2140 1.6 GHz

1 GB DDR2 667

Windows 7 RC 7100.

Eu apoio: Avise se a dica funcionou!

Compartilhar este post


Link para o post
Compartilhar em outros sites
Muuuuuuuuuuuuuuuuuuuuuuuuuito obrigado a vocês que me ajudaram, mas não deu. Valeu muito msm. ^o):*::*:

Vou estudar + :*::*:(Y)

Caso ainda esteja precisando..., :

#include <iostream>

main()
{
int n,fat = 1,x;
printf("\nEntre com um numero inteiro: ");
scanf("%d",&n);
x = n;
while(x > 1)
{
x--;
fat = x * fat;
}
fat = n * fat;
printf("\nO fatorial de %d e %d \n\n",n,fat);
system("pause");
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro |Fernando|, já havia quase desistido, mas você conseguiu!!!!

Novamente, muuuuuuuuuuuuuuuuuuito obrigado a todos que me ajudaram.

Não estou reclamando, mas o Windows, ao trabalhar com números grandes, eles ficam negativos ^o)

E o estranho é que é a partir de 16 Fatorial.

Eu acho que é culpa do meu Windows ser 32-bit (16 x 2 = 32icon9.gif)

Mas Valeu, tá bom d+!


Powered by:

Pentium DualCore E2140 1.6 GHz

1 GB DDR2 667

Windows 7 RC 7100.

Eu apoio: Avise se a dica funcionou!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Entre para seguir isso  

×