n base10 => binaire
_ _ _ _ _ _ 2n
_ _ _ _ _ 0 4n (ou 1 à la place de 0)
n sur k bits 2k−1≤n≤2k ab=eln(a)be(h−1)ln(2)≤n≤eln(2)k(k−1)ln(2)≤ln(n)≤ln(2)k(k−1)<ln(2)ln(n)≤k
Suite de Fibonacci
Méthode de récursivité lourde ≈Θ(2n)
Soit Cnk nombre d’opérations pour calculer F(n) Cn=(1+)Cn−1+Cn−2, la complexité c’est grosso-modo Fibonacci + 1, donc Cn≃F(n)
Donc, F(n)=51((21+5)n+(21−5)n) : ça fonctionne jusqu’à une certaines valeurs et après ça ne fonctionne plus.
Calcul matricielle
(1111) avec (1324) donne : (3737)
La matrice est cachée dans ce système : [F(n)=F(n−1)+F(n−2)F(n−1)=F(n−1)
Donnant : F(n)=F(n−1)=(1110) avec (F(n−1)F(n−2)) donne (F(n−1)F(n−1)F(n−2))
Exponentiation rapide
an puissance rapide
si (n == 1)
retourne a
sinon
si n % 2 == 0
x = puissance_rapide(a, n / 2)
retourne x * x
sinon
x = puissance_rapide(a, n / 2)
retourne a * x * x
anAn puissance rapide
si (n == 1)
retourne A
sinon
si n % 2 == 0
x = puissance_rapide(A, n / 2)
retourne multiplication(x, x)
sinon
x = puissance_rapide(a, n / 2)
retourne a * x * x
Triangle de Pascal (avec coefficient binomiaux) : (nk)=(n−1k−1)+(n−1k)