Submission #3560110


Source Code Expand

def prime_factor(n)
  prime = 2
  result = []
  loop do
    break if n < prime
    while n.modulo(prime).zero?
      n = n / prime
      result << prime
    end
    prime = next_prime(prime)
  end
  result
end

def next_prime(prime)
  _next = prime + 1
  loop do
    return _next if prime?(_next)
    _next += 1
  end
end

def prime?(n)
  2.upto(n-1) do |i|
    return false if n.modulo(i).zero?
  end
  true
end

while (n=gets.to_i)!=0 do
  primes=prime_factor(n)
  puts(primes.last)
end

Submission Info

Submission Time
Task B - Working for the World
User luogu_bot4
Language Pascal (FPC 2.6.2)
Score 0
Code Size 522 Byte
Status CE