[Resolvido] Fatoriais
bom, mais um exercicio da minha facul.
o exercicio eh para ler um numero do teclado e calcular o seu fatorial.
eu jah fiz e pelo q eu vi tah tudo certo. soh q com numeros realmente grandes ele perde a precisao, tipo depois de umas 15 casas ele fica tudo zero.
alguem sabe como posso fazer para aumentar a precisao, ou isso eh o maximo q eu posso fazer em c?
se tiverem alguma ideia para melhorar o programa eu agradeço.
/*Nome: Charles Arnoud
lê um numero do teclado e retorna o seu fatorial.
entradas: num.
saídas: fat.*/
#include<stdlib.h>
#include<stdio.h>
#include<ctype.h>
int main()
{
char segue;
int num;
double fat, temp;
printf("Calcula o fatorial de um numero.");
do
{
do
{
printf("\n\nDigite numero natural: ");
scanf("%i", &num);
}
while (num<0);
if ((num==0)||(num==1))
fat=1;
else
for (temp=2, fat=1; temp<=num; temp++)
fat=temp*fat;//acumula o fatorial, multiplicando pelo numero
printf("Fatorial de %i (%i!) eh igual a %.0lf.", num, num, fat);
do
{
printf("\nDeseja continuar (s/n)? ");
fflush(stdin);//limpa para ler caracteres
scanf("%c", &segue);
segue=tolower(segue);
}
while ((segue!='n')&&(segue!='s'));
}
while (segue=='s');
system("pause");
return 0;
}Discussão (5)
Carregando comentários...