Pseudo code

Trouver la permière puissance d'un nombre positif donné (nb) supérieur (respectivement inférieur) à une valeure donnée (val) :

fonction trouver_sup(nb, val)
    n = nb
    p = 1
    tant que n < val:
        n = n*nb
        p = p+1
    retourner p
fonction trouver_inf(nb, val)
    n = nb
    p = 1
    tant que n > val:
        n = n*nb
        p = p+1
    retourner p
In [1]:
def trouver_sup(nb, val):
    assert(nb > 1) # assertion : renvoyer une erreur si nb est plus petit que 1 (boucle infinie)
    n = nb
    p = 1
    while n < val:
        n *= nb
        p = p+1
    return p

def trouver_inf(nb, val):
    assert(nb > 0) # renvoyer une erreur si nb est négatif (énoncé)
    assert(nb < 1) # éviter une boucle infinie
    n = nb
    p = 1
    while n > val:
        n *= nb
        p = p+1
    return p
In [2]:
p = trouver_sup(2, 8192)
print(f"Puissance: {p}")
print(f"2^{p} = {2**p}")
Puissance: 13
2^13 = 8192
In [3]:
p = trouver_inf(0.5, 1e-10)
print(f"Puissance: {p}")
print(f"0.5^{p} = {0.5**p}")
Puissance: 34
0.5^34 = 5.820766091346741e-11