約数を列挙するプログラム
n = gets.to_i
def divisor(n)
res = []
for i in 1..(n+1)
break if i*i > n
next if n % i != 0
res << i
res << (n/i) if n / i != i
end
return res.sort
end
divisor(n).join(' ')
# 入力例1
# n = 25
#=> 1 5 25
# 入力例2
# n = 9999999999999
# => 1 3 9 53 79 159 237 477 711 4187 12561 37683 265371653 796114959 2388344877 14064697609 20964360587 42194092827 62893081761 126582278481 188679245283 1111111111111 3333333333333 9999999999999