Aula 2.26: Como calcular fatorial de números grandes em C

COMPARTILHAR:

Aula 2.26 - Exercício sobre como armazenar resultado de fatorial de número grande.

Este artigo faz parte do projeto #LTCode

Agora vamos começar a complicar sua vida de programador, pois o exercício abaixo é o seguinte:

Faça um programa que permita calcular o fatorial de números relativamente grandes como o fatorial de 10000. Você não deve usar qualquer biblioteca de suporte da linguagem C.

Antes de começar, tenha em mente que somente o fatorial do número 100 possui 158 dígitos, resumindo nem uma variável do tipo long long int vai servir para armazenar esse número.

Portando o ideal seria utilizar um vetor, para ajudar vocês... vocês podem fixar o tamanho desse vetor em 20000, ou seja, não queremos resultado de fatoriais que passem esse número de dígitos.

Recomendo tentar antes de ver a resposta abaixo:
~
~~
~~~
~~~~
~~~~~

Resolução:


Bom, primeiramente criamos um vetor de tamanho máximo (linha 2). Depois inicializamos com 1 a primeira posição do vetor, a variável "tamanho" também deverá começar com 1 pois ela serve para indicar o tamanho do nosso vetor "resp" durante o processo.

A ideia básica é multiplicar cada inteiro de "1" a "numero" entrado pelo usuário pelo digito presente no vetor "resp". Mas note que os dígitos são multiplicados do dígito mais direito ao dígito mais esquerdo, ou seja, os dígitos são armazenados da direita para a esquerda no vetor (por isso na linha 19 o vetor é 'printado' ao contrário).

>> Próxima aula, clique aqui.

COMENTÁRIOS

Nome

#ann,23,#HK,16,#LTCode,70,Artigo - Diversos,155,Artigo - Games,195,Artigo - Tecnologia,522,autor-thomaz,7,Coluna - Alternative World,24,Coluna - Fail,12,Coluna - Tec Line,14,Criptomoeda,55,Curiosidades - Diversos,49,Curiosidades - Tecnologia,49,en,2,HN,12,Raspberry Pi,8,root,69,Shorty Awards,1,Smartphones - Reviews,33,Top Nostalgia,2,VPN,17,WhatsApp,44,
ltr
item
Limon Tec: Aula 2.26: Como calcular fatorial de números grandes em C
Aula 2.26: Como calcular fatorial de números grandes em C
Aula 2.26 - Exercício sobre como armazenar resultado de fatorial de número grande.
https://1.bp.blogspot.com/-Vv6C0DkQgY0/WG_EGTY1EhI/AAAAAAAAFcs/qphwk8Z4UdkFSQu0zbS5xoZ_9_KovVlJACLcB/s640/ltcode.jpg
https://1.bp.blogspot.com/-Vv6C0DkQgY0/WG_EGTY1EhI/AAAAAAAAFcs/qphwk8Z4UdkFSQu0zbS5xoZ_9_KovVlJACLcB/s72-c/ltcode.jpg
Limon Tec
https://www.limontec.com/2019/09/aula-2-26-linguagem-c-ltcode.html
https://www.limontec.com/
https://www.limontec.com/
https://www.limontec.com/2019/09/aula-2-26-linguagem-c-ltcode.html
false
2157924926610706248
UTF-8
Carregar todos posts Não encontramos nenhum post VER TUDO Ler mais Responder Cancelar resposta Deletar Por Home PÁGINAS POSTS Ver tudo RECOMENDADO PARA VOCÊ LABEL ARQUIVO SEARCH TODOS POSTS Não encontramos nenhum post relacionado a sua requisição VOLTAR PÁGINA INICIAL Domingo Segunda Terça Quarta Quinta Sexta Sábado Dom Seg Ter Qua Qui Sex Sab Janeiro Fevereiro Março Abril Maio Junho Julho Agosto Setembro Outubro Novembro Dezembro Jan Fev Mar Abr Maio Jun Jul Ago Set Out Nov Dez apenas agora 1 minuto atrás $$1$$ minutes ago 1 hora atrás $$1$$ hours ago Ontem $$1$$ days ago $$1$$ weeks ago mais de 5 semanas atrás Seguidores Seguir ESTE CONTEÚDO ESTÁ BLOQUEADO PASSO 1: Compartilhe com seus amigos PASSO 2: Clique no link compartilhado Copiar Todo Código Selecionar Todo Código Todos códigos foram copiados para seu clipboard Não é possível copiar códigos / textos, por favor aperte [CTRL]+[C] (ou CMD+C no Mac) para copiar Tabela de conteúdo