June 2018 Update

This commit is contained in:
Ingy döt Net 2018-06-22 20:57:24 +00:00
parent ba8067c3b7
commit 22f33d4004
5278 changed files with 84726 additions and 14379 deletions

View file

@ -1,35 +1,26 @@
function makesofn(n::Int)
buf = Any[]
function makesofn(n::Integer)
buf = Vector{typeof(n)}(0)
i = 0
function sofn(item)
return function sofn(item)
i += 1
if i <= n
if i n
push!(buf, item)
else
j = rand(1:i)
if j <= n
buf[j] = item
end
if j ≤ n buf[j] = item end
end
return buf
end
return sofn
end
nhist = zeros(Int, 10)
for i in 1:10^5
for _ in 1:10^5
kas = makesofn(3)
for j in 0:8
kas(j)
end
for k in kas(9)
nhist[k+1] += 1
end
for j in 0:8 kas(j) end
for k in kas(9) nhist[k+1] += 1 end
end
println("Simulating sof3(0:9) 100000 times:")
for (i, c) in enumerate(nhist)
println(@sprintf " %2d => %5d" i-1 c)
@printf("%5d → %5d\n", i-1, c)
end