# Divisions euclidiennes successives# Thomas George 2007puts 'Divisions euclidiennes successives de deux nombres:'puts 'Premier: 'n1 = gets.to_iputs 'Second: 'n2 = gets.to_i# Copie, pour la finm1 = n1; m2 = n2# On les classe dans l'ordreif n1 < n2 n3 = n1; n1 = n2; n2 = n3end# Algorithme d'Euclidewhile n2 != 0 ancien_reste = n2 reste = n1 % n2 div = (n1 - reste) / n2 puts "#{n1} = #{n2} x #{div} + #{reste}" n1 = n2 n2 = resteendputs "Le PGCD de " + m1.to_s + " et " + m2.to_s + " est " + ancien_reste.to_s + "."if ancien_reste != 1 puts "Ces nombres ne sont donc pas premiers entre eux."else puts "Ces nombres sont donc premiers entre eux."end