English 中文(简体)
铁路类的红宝石,用于石状共同分区
原标题:ruby on rails class for grates common division

我试图做一个模型级, 找出两个数字的基点共同分区。 如果我把68和22的答案是2, 答案是正确的, 但如果我把678 352的答案是678 352, 结果是326和错误的! 应该2! 任何想法吗?

def gcd 
  if firstnumber > secondnumber
    div= firstnumber/ secondnumber
    ip=firstnumber % secondnumber
    fi = div / ip
    ip
  else 
    i = firstnumber 
    s = secondnumber 
    secondnumber = firstnumber 
    firstnumber = s 
    div= firstnumber/ secondnumber 
    ip=firstnumber % secondnumber 
    fi = div / ip ip 
  end 
end

环环环环

def gcd
   a = firstnumber
   b=secondnumber
   ip = 50
   if firstnumber > secondnumber
     begin   
       fi=a/b
       re=a%b    
       fi=b/re
       re=re%b
       ip=re        
     end until ip != 0
     return re  
   end
   else
     i = firstnumber
     s = secondnumber
     secondnumber = firstnumber
     firstnumber = s
     div= firstnumber/ secondnumber
     ip=firstnumber % secondnumber
     fi = div / ip
     ip
   end
end

美元 美元 美元 美元 美元 美元 美元 美元 美元 美元 美元 美元 美元 美元 美元 美元 美元 美元

同样的事情发生

最佳回答

Ruby有一个有方法 Integer 的类 > 。不要重新发明方向盘。这里读到 < a href="http://www.ruby-doc.org/core-1.9.3/Integer.html#method-i-gcd" rel="nofol" > http://www.ruby-doc.org/core-1.9.3/Integer.html#method-i-gcd

irb(main):001:0> 68.gcd(22)
=> 2
irb(main):002:0> 678.gcd(352)
=> 2

该方法的来源是:

   def gcd(n)
     m = self.abs
     n = n.abs

     return n if m == 0
     return m if n == 0

     b = 0
     while n[0] == 0 && m[0] == 0
       b += 1; n >>= 1; m >>= 1
     end
     m >>= 1 while m[0] == 0
     n >>= 1 while n[0] == 0
     while m != n
       m, n = n, m if n > m
       m -= n; m >>= 1 while m[0] == 0
     end
     m << b
   end
问题回答

暂无回答




相关问题
rails collection_select vs. select

collection_select and select Rails helpers: Which one should I use? I can t see a difference in both ways. Both helpers take a collection and generates options tags inside a select tag. Is there a ...

SSL slowness in EC2

We ve deployed our rails app to EC2. In our setup, we have two proxies on small instances behind round-robin DNS. These run nginx load balancers for a dynamically growing and shrinking farm of web ...

Auth-code with A-Za-z0-9 to use in an URL parameter

As part of a web application I need an auth-code to pass as a URL parameter. I am currently using (in Rails) : Digest::SHA1.hexdigest((object_id + rand(255)).to_s) Which provides long strings like : ...

RubyCAS-Client question: Rails

I ve installed RubyCAS-Client version 2.1.0 as a plugin within a rails app. It s working, but I d like to remove the ?ticket= in the url. Is this possible?

activerecord has_many :through find with one sql call

I have a these 3 models: class User < ActiveRecord::Base has_many :permissions, :dependent => :destroy has_many :roles, :through => :permissions end class Permission < ActiveRecord::...

Ordering a hash to xml: Rails

I m building an xml document from a hash. The xml attributes need to be in order. How can this be accomplished? hash.to_xml

Text Editor for Ruby-on-Rails

guys which text editor is good for Rubyonrails? i m using Windows and i was using E-Texteditor but its not free n its expired now can anyone plese tell me any free texteditor? n which one is best an ...

How to get SQL queries for each user where env is production

I’m developing an application dedicated to generate statistical reports, I would like that user after saving their stat report they save sql queries too. To do that I wrote the following module: ...