Skip to content

luigi-ms/fatoracao

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fatoracao

Fatorar um número

Sumário

O que é fatoração?

Fatoração é o processo de decompor um número em fatores primos. Essa decomposição é feita através de divisões por divisores primos. O quociente da divisão anterior se torna o dividendo da divisão atual, e isso se repete até o quociente ser 1. Após isso, conta-se os divisores primos encontrados. O resultado é um produto/uma potência do valor digitado. Geralmente é utilizado para encontrar a raiz quadrada.

Exemplo

Exemplo do cálculo

Como o código faz isso?

Pra isso, existem duas listas: uma, chamada PrimeNumbersList, contém números primos e é utilizada nos cálculos. A outra, FactorsList, é utilizada para gerar o resultado.

Segue o algoritmo explicado:

  1. O usuário digita um número. Esse número é armazenado como um dividendo.
  2. Para as repetidas divisões, é utilizado um loop, que só encerrará quando o dividendo for 1 ou um número primo.
  3. Dentro do loop, acontece uma verificação: este dividendo é divisível por algum dos números listados em PrimeNumbersList? Se sim então...
    • O número encontrado na lista se torna o divisor atual
    • O quociente do dividendo é do divisor se torna o dividendo na próxima vez
    • O divisor é adicionado na lista FactorsList. Caso o dividendo não seja divisível por ninguém listado, entende-se que o mesmo é um número primo e o loop se encerra.
  4. Pra exibir o resultado, é analisado todos os números adicionados em FactorsList. Números repetidos são anotados em uma lista especial, cuja função é auxiliar na contagem de quantas vezes o número se repete. Isso é utilizado pra montar as potências.
  5. O produto dos fatores a.k.a. resultado final é exibido no formato (número^expoente).

Tecnologias envolvidas

  1. IDE Java N-IDE
  2. Git

Autor

author-photo

Luigi Moraes

github-icon Github linkedin-icon LinkedIn

Releases

No releases published

Packages

No packages published

Languages