Problem 3
https://projecteuler.net/problem=3
Juliaで次のように書く。
function e003(n) local p = 2 while p*p <= n if n%p == 0 while true n = div(n, p) if n%p != 0 break end end if n == 1 return p else return e003(n) end end p += 1 end return n end N = parse(Int, ARGS[1]) println(e003(N))
Juliaでは、Int同士の割り算を普通にするとFloat64になってしまう。
julia> 4/2 2.0
商を整数にするには、div関数を使う。
julia> div(4, 2) 2
divmodに相当する関数は無いようだ。