Ir ao conteúdo

Posts recomendados

Postado
#include <stdio.h>

int main(){
	
	int fat, i;
	
	fat = 1;
	
	for (i = 1; i < 20; i++){
		
		fat *= i;
		printf("Fat %d = %d\n", i, fat);
	}
}

Olá, tudo bem?! Estou fazendo uns exercicios de fatorial que estão dando valores errados, nao sei qual o problema, creio q seja overflow do tipo int, os resultados ate mais ou menos 10! dao certo, dps buga, quem puder me ajudar....

Capture+_2019-06-13-12-59-59.png

Postado
43 minutos atrás, marlorodrigues disse:

overflow do tipo int

  • Correto! O limite foi atingido, podemos estende-lo para o dobro quando declarado sem sinal. Contudo, seu limite ainda será alcançado para sequencias ainda maiores. Segunda a Wikipédia, o maior fatorial calculado tem n = 100.000, seu valor é 2,8242294079... × 10456.573, isso supera em muito a range de qualquer tipo primitivo conhecido em C, suponho que esse limite só pode ser alcançado com parcelas abstratas de tipos abastratos.
    unsigned int i, fat;

 

 

  • Obrigado 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!