Décompose un nombre en base ϕ (le nombre d’or tel que ϕ^2=ϕ+1). Comme 6=ϕ^3+ϕ+ϕ^-4, on note 6=1010.0001 en base ϕ. Si on impose qu’aucun chiffre n’est supérieur à 1 et que deux chiffres égaux à 1 ne soient pas consécutifs, la décomposition est unique.
def basephi(n): l=[n,0] v=1 cont=True while cont: cont=False for i,e in enumerate(l): if e>1: cont=True if i==0: l.insert(0,0) v+=1 i=1 while i+2>=len(l): l.append(0) l[i-1]+=1 l[i]-=2 l[i+2]+=1 break for i,e in enumerate(l[:-1]): if e>0 and l[i+1]>0: cont=True if i==0: l.insert(0,0) v+=1 i=1 l[i-1]+=1 l[i]-=1 l[i+1]-=1 break return "".join(map(str,l[:v]))+"."+"".join(map(str,l[v:]))