#The prime factors of 13195 are 5, 7, 13 and 29. #What is the largest prime factor of the number 600851475143 ? require 'mathn' class Integer #这个解法是没有分解number,导致基数太大,效率极低 #def big_prime # lock = Time.now # gen = Prime.new # max = 0 # gen.each do |prime| # max = prime if self % prime == 0 # break if prime > self # end #end def big_prime lock = Time.now max, d = 0, 2 number = self.to_i while(d <= number) (number%d == 0) ? (max, number = d, number/d) : d += 1 end puts self.to_s+"的最大质数是:"+max.to_s puts "所用时间为:"+(Time.now - lock).to_s end end 600851475143.big_prime
ProjectRuler-3
最新推荐文章于 2022-08-18 10:57:29 发布