こんにちは、私はRubyが初めてで、スタックを使用して最大公約数を見つけるアルゴリズムを実装しようとしています:
これが私のコードです:
def d8(a,b)
return a if (a==b)
s = Stack.new
s.push(b)
s.push(a)
c1 = s.pop(a)
c2 = s.pop(b)
while c1!=c2
if s.count>0
c1 = s.pop(c1)
c2 = s.pop(c2)
end
if c1== c2
return c1
elsif c1>c2
c1 = c1-c2
s.push(c2)
s.push(c1)
else
c2 = c2 -c1
s.push(c2)
s.push(c1)
end
end
return nil
end
ただし、7 行目から Argument Error: wrong number of arguments (1 for 0) が発生し続けます