Ruby :: Aufgabe #60 :: Lösung #1

2 Lösungen Lösungen öffentlich
#60

Größter gemeinsamer Teiler

Anfänger - Ruby von hobeditz - 21.09.2014 um 11:51 Uhr
Entwickeln Sie ein Programm, welches den größten gemeinsamen Teiler zweier Zahlen ermittelt. Die Zahlen sollen vom Nutzer selber bestimmt werden.

Zitat:

Tipp:
Der euklidische Algorithmus könnte helfen.

#1
vote_ok
von cutoff (120 Punkte) - 27.11.2014 um 12:58 Uhr
Quellcode ausblenden Ruby-Code
#!/usr/bin/env ruby

class Ggt
  def initialize
    @a = ARGV[0].to_i
    @b = ARGV[1].to_i
  end

  def calc
    candids = @a, @b
    l, h = candids.sort
    pointer = l - 1
    @@suc = 'n'
    while pointer > 2
      if h % pointer == 0 and l % pointer == 0
        puts "Grösster gemeinsamer Teiler von #{l} und #{h} ist: #{pointer}"
        @@suc = 'y'
        break
      end
      pointer -= 1
    end
    puts "Die Zahlen #{l} und #{h} haben keinen gemeinsamen Teiler :-(" if @@suc == 'n'
  end
end

res = Ggt::new
res.calc


$ ruby RubyScripts/ggt.rb 1071 1029
Grösster gemeinsamer Teiler von 1029 und 1071 ist: 21

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben