20 lines
485 B
Fish
20 lines
485 B
Fish
function execute
|
|
# If the list is empty, don't do anything.
|
|
test (count $argv) -ge 2; or return
|
|
# If the list has only one element, return it
|
|
if test (count $argv) -eq 2
|
|
echo $argv[2]
|
|
return
|
|
end
|
|
# Rotate prisoners
|
|
for i in (seq 2 $argv[1])
|
|
set argv $argv[1 3..-1 2]
|
|
end
|
|
# Mention killed prisoner
|
|
echo $argv[2]
|
|
# Kill rest recursively
|
|
execute $argv[1 3..-1]
|
|
end
|
|
|
|
echo Prisoner (execute 3 (seq 0 40))[-1] survived.
|