Exercice : Algorithmes et histoire des mathématiques

★★ Avancé

Un texte mathématique de l'Égypte antique (conservé sur le papyrus Rhind) décrit une méthode pour effectuer des calculs en utilisant uniquement des divisions par $2$ (médiations) et des multiplications par $2$ (duplications).

Le programme Python suivant traduit cette méthode historique :

a = 13
b = 11
p = 0
while a > 0:
    if a % 2 == 1:
        p = p + b
    a = a // 2
    b = b * 2

Saisir la valeur de la variable p à la fin de l'exécution du programme.