English cardinal anagrams: Difference between revisions

m
→‎{{header|Julia}}: use a counter
m (→‎{{header|Julia}}: use a counter)
Line 65:
=={{header|Julia}}==
<syntaxhighlight lang="julia">import SpelledOut: spelled_out
import Counters: counter
 
languages = Dict("English" => :en, "Spanish" => :es, "Portuguese" => :pt_BR)
Line 81 ⟶ 82:
numstrings = map(n -> spelled_out(n, lang=languages[lang]), 0:maxrange)
numreps = map(anarep, numstrings)
anadict = Dict{Vector{Int}, Set{String}}counter(numreps)
counts = [anadict[numreps[i]] for i in eachindex(numstrings)1:maxrange]
if haskey(anadict, numreps[i])
push!(anadict[numreps[i]], numstrings[i])
else
anadict[numreps[i]] = Set{String}([numstrings[i]])
end
end
counts = [length(anadict[numreps[i]]) for i in 1:maxrange]
if showfirst30
println("First 30 $lang cardinal anagrams:")
Line 102 ⟶ 96:
end
print("\nCount of $lang cardinal anagrams up to $maxrange: ")
println(count(p -> lengthvalues(p[2]anadict) .> 1, anadict))
println("\nLargest group(s) of $lang cardinal anagrams up to $maxrange:")
maxcount = maximum(counts)
4,102

edits