丢手帕问题as3版
N个孩子围成一圈报数,报到M的退出,剩下的再从1继续报数,报到M的再退出,一直持续到只剩一个人,问剩下的是哪个?
package { import flash.display.Sprite; public class dsp extends Sprite { public function dsp() { //总人数 var n:Number=9; //将所有放进数组 var arr:Array=[]; for (var i:int = 1; i <= n; i++) { arr.push(i); } //定义变量记录当前数组的指针 var startIndex:int=1; //定义变量记录所有的数量 var times:int=1; //定义变量声明每几个孩子退出一个 var m:int=4; while(arr.length>1){ if(times%m==0){ arr.splice(startIndex,1); startIndex--; } startIndex++; times++; if(startIndex==arr.length){ startIndex=0; } } trace(arr); trace(times); } } }