Ainda não consegui relacionar matemática e programação em alguns casos. O Big o notation serve para verificar velocidade de processamento de código, mas não consegui entender as nomenclaturas e saber quando o algoritmo é lento ou rápido.
E algumas resoluções, porque sem tem que saber o resto dá divisão, esses são dois exemplos, se o número primo é divisível somente por um e ele mesmo, porque começa com 2:
```function primeFactors(n){ var factors = [], divisor = 2;
while(n>2){ if(n % divisor == 0){ factors.push(divisor); n= n/ divisor; } else{ divisor++; } } return factors; }
primeFactors(69); = [3, 23]
function greatestCommonDivisor(a, b){ if(b == 0) return a; else return greatestCommonDivisor(b, a%b); } ```