« Mathématiques avec Python et Ruby/Fractions en Ruby » : différence entre les versions

Contenu supprimé Contenu ajouté
Ligne 199 :
f-=e
liste=[e]
while(f>1e-64)begin
e=Rational(1,(1/f).to_i+1)
f-=e
liste.push(e)
end while f.numerator>1
liste.push(f)
return liste
end
Ligne 212 ⟶ 213 :
puts(egypt(a))
</source>
 
On peut résumer ce script ''Ruby'' aux étapes suivantes:
 
#On commence par extraire la partie entière de ''f'', pour qu'il reste une fraction inférieure à 1;
#On soustrait à ''f'' (fraction restante) le plus grand inverse d'entier possible...
#On s'arrête quand le reste est lui-même un inverse d'entier (autrement dit, on continue tant que son numérateur est plus grand que 1).
#On ajoute à la liste, la dernière fraction obtenue.