У вас целочисленное переполнение.Попробуйте использовать BigInt
s.
julia> N=digits(big(99999)^99999)
499995-element Array{Int64,1}:
9
9
9
9
9
8
9
9
9
9
⋮
5
0
8
2
1
8
8
7
6
3
Обратите внимание, что
julia> typemax(Int64)
9223372036854775807
, что слишком мало, но BigInt
s произвольного размера.big(i)
превращает i
в большое (BigFloat
, если это число с плавающей запятой, и BigInt
, если это целое число).Джулия не по умолчанию использует числа большого или произвольного размера, так как они довольно медленные, но если вы их вызовете, то стабильность типов в большинстве отправлений будет распространяться на большой тип, поэтому big(i)^j
в конечном итоге будет большим.