Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
28
Task/Multi-base-primes/Julia/multi-base-primes-1.julia
Normal file
28
Task/Multi-base-primes/Julia/multi-base-primes-1.julia
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
using Primes
|
||||
|
||||
function maxprimebases(ndig, maxbase)
|
||||
maxprimebases = [Int[]]
|
||||
nwithbases = [0]
|
||||
maxprime = 10^(ndig) - 1
|
||||
for p in div(maxprime + 1, 10):maxprime
|
||||
dig = digits(p)
|
||||
bases = [b for b in 2:maxbase if (isprime(evalpoly(b, dig)) && all(i -> i < b, dig))]
|
||||
if length(bases) > length(first(maxprimebases))
|
||||
maxprimebases = [bases]
|
||||
nwithbases = [p]
|
||||
elseif length(bases) == length(first(maxprimebases))
|
||||
push!(maxprimebases, bases)
|
||||
push!(nwithbases, p)
|
||||
end
|
||||
end
|
||||
alen, vlen = length(first(maxprimebases)), length(maxprimebases)
|
||||
println("\nThe maximum number of prime valued bases for base 10 numeric strings of length ",
|
||||
ndig, " is $alen. The base 10 value list of ", vlen > 1 ? "these" : "this", " is:")
|
||||
for i in eachindex(maxprimebases)
|
||||
println(nwithbases[i], " => ", maxprimebases[i])
|
||||
end
|
||||
end
|
||||
|
||||
@time for n in 1:6
|
||||
maxprimebases(n, 36)
|
||||
end
|
||||
34
Task/Multi-base-primes/Julia/multi-base-primes-2.julia
Normal file
34
Task/Multi-base-primes/Julia/multi-base-primes-2.julia
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
using Primes
|
||||
|
||||
function maxprimebases(ndig, maxbase)
|
||||
maxprimebases = [Int[]]
|
||||
nwithbases = ["0"]
|
||||
for tup in Iterators.product([0:maxbase-1 for _ in 1:ndig - 1]..., 1:maxbase-1)
|
||||
dig = collect(tup)
|
||||
foundbases = Int[]
|
||||
for b in maximum(dig)+1:maxbase
|
||||
if isprime(evalpoly(b, dig))
|
||||
push!(foundbases, b)
|
||||
end
|
||||
maxbase - b + length(foundbases) < length(maxprimebases) && break # shortcut if hopeless
|
||||
end
|
||||
if length(foundbases) > length(first(maxprimebases))
|
||||
maxprimebases = [foundbases]
|
||||
nwithbases = [prod(string.(reverse(dig), base = any(x -> x > 9, dig) ? 32 : 10))]
|
||||
elseif length(foundbases) == length(first(maxprimebases))
|
||||
push!(maxprimebases, foundbases)
|
||||
push!(nwithbases, prod(string.(reverse(dig), base = any(x -> x > 9, dig) ? 32 : 10)))
|
||||
end
|
||||
end
|
||||
alen, vlen = length(first(maxprimebases)), length(maxprimebases)
|
||||
println("\nThe maximum number of prime valued bases for base up to $maxbase numeric strings of length ",
|
||||
ndig, " is $alen. The value list of ", vlen > 1 ? "these" : "this", " is:")
|
||||
for i in eachindex(maxprimebases)
|
||||
println(nwithbases[i], maxprimebases[i][1] > 10 ? "(base 32)" : "", " => ", maxprimebases[i])
|
||||
end
|
||||
end
|
||||
|
||||
for n in 1:5
|
||||
maxprimebases(n, 36)
|
||||
maxprimebases(n, 62)
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue