编辑代码

function deal()
    p=io.read('*n')
    b=io.read('*n')
    local bla1={}
	bla1[p]={100}
    local t=p
	for i=1,t do--将最开始的人在数组中安排好位置
		bla1[i]=i--方便计数这里人对应的数字从1开始
	end
	--这里已经将我们等待报数的队伍正确地排在了一起


	i = 1--当前位置设置为第1个“人”
	n = t--离开“人”的个数
	if n>1 then--只剩一个“人”
		--数到第m个“人”离开
		j = b
		while (j > 1)do--数到第m个“人”
		--当前位置i调整到下一个“人”
		i = (i + 1) % t
			while (bla1[i] == 1)do
			i = (i + 1) % t
			end
		j=j-1
	    end--第m个“人”离开
		bla1[i] = a--标识该“人”离kai
		--当前位置i调整到下一个“人”
		i = (i + 1) % t
		while (bla1[i] == t+1) do
			i = (i + 1) % t
		end
		n=n-1;--离开一个“人”
	end
	for i=0,t do
		if (bla1[i] ~= t+1) then
			print(bla1[i])--输出最后剩下的“人”
			break
		end
	end
end
deal()