Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
14
Task/Pancake-numbers/Julia/pancake-numbers-1.julia
Normal file
14
Task/Pancake-numbers/Julia/pancake-numbers-1.julia
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
function pancake(len)
|
||||
gap, gapsum, adj = 2, 2, -1
|
||||
while gapsum < len
|
||||
adj += 1
|
||||
gap = gap * 2 - 1
|
||||
gapsum += gap
|
||||
end
|
||||
return len + adj
|
||||
end
|
||||
|
||||
for i in 1:25
|
||||
print("pancake(", lpad(i, 2), ") = ", rpad(pancake(i), 5))
|
||||
i % 5 == 0 && println()
|
||||
end
|
||||
22
Task/Pancake-numbers/Julia/pancake-numbers-2.julia
Normal file
22
Task/Pancake-numbers/Julia/pancake-numbers-2.julia
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
function pancake(len)
|
||||
goalstack = collect(1:len)
|
||||
stacks, numstacks = Dict(goalstack => 0), 1
|
||||
newstacks = deepcopy(stacks)
|
||||
for i in 1:1000
|
||||
nextstacks = Dict()
|
||||
for (arr, steps) in newstacks, pos in 2:len
|
||||
newstack = vcat(reverse(arr[1:pos]), arr[pos+1:end])
|
||||
haskey(stacks, newstack) || (nextstacks[newstack] = i)
|
||||
end
|
||||
newstacks = nextstacks
|
||||
stacks = merge(stacks, newstacks)
|
||||
perms = length(stacks)
|
||||
perms == numstacks && return findmax(stacks)
|
||||
numstacks = perms
|
||||
end
|
||||
end
|
||||
|
||||
for i in 1:10
|
||||
steps, example = pancake(i)
|
||||
println("pancake(", lpad(i, 2), ") = ", rpad(steps, 5), " example: ", example)
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue