factor

Fatoração em primos de um inteiro positivo.

Categoria: Mathematics > Elementary Math

Sintaxe

p = factor(n)

Retorna os fatores primos de n em um vetor linha, em ordem não decrescente, repetidos conforme a multiplicidade.

Descrição

A fatoração é obtida por divisão tentativa, então é rápida para números que cabem em um double (até 2^53) e mais lenta quando n tem dois fatores primos grandes. prod(factor(n)) sempre recupera n.

Para ver cada primo uma única vez com seu expoente, aplique unique ao resultado e conte com histc ou accumarray.

Argumentos de entrada

n
Escalar inteiro não negativo. Classes inteiras são aceitas e o resultado mantém a classe.

Argumentos de saída

p
Vetor linha de primos cujo produto é n. Para n primo é o próprio n; para 1 é vazio.

Exemplo

Fatorar e reconstruir

p = factor(360)
prod(p)
factor(97)
Saída
p = 1×6

     2     2     2     3     3     5
ans = 360
ans = 97

Observações

A forma com duas saídas [p, k] = factor(n) também é erro no MATLAB ("Too many output arguments"). Para obter cada primo uma vez com seu expoente, aplique unique ao resultado.

Veja também

primes isprime gcd lcm unique