Faça a fatoração de um numero A inteiro, que é uma entrada do usuário. (leitura). Supondo, por exemplo, que A seja igual a 12, sua saída de ser:
& 2^wed>= 2 & 3^wed>= 1

Passo 1

O enunciado pede a fatoração em primos de um inteiro A fornecido pelo usuário. O conteúdo envolvido é o Teorema Fundamental da Aritmética (todo inteiro >1 se escreve de modo único como produto de primos) e a técnica de divisão sucessiva (trial division) para extrair expoentes dos fatores.

Passo 2

Começamos extraindo a potência de 2. Inicialize um contador e 0. Enquanto Abmod 2 = 0, faça
e e + 1, A A/2
Ao sair do laço, se e>0 registre o par (2,e).

Passo 3

Agora extraímos fatores ímpares. Para cada p em
3,5,7,dots,lfloorraizArfloor
com passo 2, inicialize um contador e 0 e repita
enquanto Abmod p = 0: e e+1,;A A/p
Se ao final e>0, registre o par (p,e). Atualize o limite lfloorraizArfloor após cada divisão para otimizar.

Passo 4

Quando o loop terminar, pode ocorrer que o resto A>1. Nesse caso, o próprio A é primo e aparece com expoente 1. Registre (A,1).

Passo 5

Para apresentar a saída, percorra cada par (p,e) registrado e imprima em linhas separadas o bloco em display
p^e

Resposta

Segue o pseudocódigo completo:
1. Leia A.
2. Crie uma lista vazia de pares fatores = [].
3. e 0
Enquanto A bmod 2 = 0:
\quad e e + 1
\quad A A / 2
Se e > 0, anexe (2, e) em fatores.
4. Para p = 3 até lfloor raizA rfloor com passo 2:
\quad e 0
\quad Enquanto A bmod p = 0:
\quad\quad e e + 1
\quad\quad A A / p
\quad Se e > 0, anexe (p, e) em fatores.
\quad Atualize lfloor raizA rfloor.
5. Se A > 1, anexe (A, 1) em fatores.
6. Para cada (p, e) em fatores, imprima
p^e
Exemplo: para A = 12 a lista de fatores será [(2, 2), (3, 1)] e a saída
2^2
3^1

Exercícios relacionados