Como Saber Os Divisores De Um Numero
Achei os divisores sem quebrar a cabeça
Se você precisa saber os divisores de um número, o caminho mais direto é verificar, um a um, se a divisão deixa resto zero. Parece óbvio, mas a maioria das pessoas começa errado e fica presa tentando números inúteis. Vou explicar o método prático e depois mostrar um caso que quase me fez desistir de algum programa minha vida.
Como saber os divisores de um numero
O primeiro passo é entender que você só precisa testar divisores até a raiz quadrada do número. Se um número N é divisível por algum valor maior que N, o quociente resultante é obrigatoriamente menor que N e já foi encontrado antes. Isso reduz drasticamente a quantidade de testes. Um número com 100 mil divisões possíveis cai para 316 apenas. O algoritmo básico é simples: faça um loop de 1 até a raiz quadrada inteira de N. Para cada candidato i, verifique se N % i == 0. Se sim, i é divisor. O quociente N/i também é divisor. Anote ambos. Vou colocar um exemplo prático para fixar. Peguemos o número 36. A raiz quadrada é 6. Testamos de 1 a 6:
1 divide 36 quociente 36. Divisores encontrados: 1 e 36.
2 divide 36 quociente 18. Divisores: 2 e 18.
3 divide 36 quociente 12. Divisores: 3 e 12.
4 divide 36 quociente 9. Divisores: 4 e 9.
5 não divide 36. Pula.
6 divide 36 quociente 6. Divisor: 6 (só um, porque é igual ao par). Divisores de 36: 1, 2, 3, 4, 6, 9, 12, 18, 36. Total de 9 divisores. Fácil. Agora, se você quiser fazer isso em código, a estrutura em Python seria algo assim:

divisores = []
for i in range(1, int(n0.5) + 1):
if n % i == 0:
divisores.append(i)
if i != n // i:
divisores.append(n // i) O detalhe importante é a condição if i != n // i. Sem ela, para números perfeitos como 36, 49 ou 100, o divisor central aparece duplicado. Já vi isso causar bugs em sistemas de pagamento que dependiam da contagem correta de divisores para calcular parcelas. O problema aparecia quando o valor era um quadrado perfeito. A correção foi essa verificação condicional. Uma coisa que muita gente não leva em conta na hora de como saber os divisores de um numero é o custo de se usar a raiz quadrada como limite. Para números pequenos funciona perfeitamente. Mas quando você entra em faixas como números primos grandes — tipo acima de 10^12 — o laço simplesmente não cabe no tempo esperado. Um número primo de 15 dígitos exige cerca de 3 milhões de iterações só para confirmação. Em Python puro, isso leva segundos. Em JavaScript no navegador, pode travar a aba. Aqui o problema real não é o algoritmo em si, mas a linguagem e o ambiente de execução.
Se o seu cenário exige performance com números grandes, o método de fatoração prima é muito mais eficiente. Você decompõe o número em fatores primos e a partir daí gera todos os divisores combinatoriamente. Para o número 60, por exemplo, a fatoração prima é 2^2 × 3^1 × 5^1. O total de divisores é (2+1)(1+1)(1+1) = 12. Os divisores são gerados permutando as potências: 1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30, 60. Esse método é exponencialmente mais rápido para números com muitos fatores pequenos. A desvantagem é que encontrar a fatoração prima em si é um problema computacional difícil para números muito grandes, e é aqui que a teoria colide com a prática. Para a grande maioria dos casos do dia a dia — tarefas escolares, scripts simples, validações rápidas — o método de varredura até a raiz quadrada resolve e é suficientemente claro para manter no código sem dor de cabeça. A fatoração prima vale a pena quando você precisa processar milhões de números ou quando a resposta precisa vir em tempo real em uma interface. Outro detalhe prático que merece atenção é a ordenação. O algoritmo de varredura encontra os divisores em pares desordenados. Se você precisa da lista final em ordem crescente, basta aplicar um sort() ao resultado. Isso custa praticamente nada para o número de divisores típico de um número inteiro dentro de 64 bits.
Se quiser rodar algo rápido agora mesmo, existem calculadoras online que fazem isso em tempo real. Basta digitar o número. Mas se você está construindo algo que depende disso como parte de um fluxo maior, vale a pena implementar o algoritmo diretamente. Depender de serviço externo adiciona latência e ponto de falha.

Galeria
-
Como determinar a quantidade de divisores de um número | O Baricentro ... -
Me Salva! Vestibular - Como encontrar o número de divisores de um ... -
Quantidade De Divisores De Um Número - RETOEDU