n个人(1,…,n-1)形成一个圆圈,从数字1开始,
这个首先要理解题意,现在这种写法,还是不怎么完善的,有兴趣可以交流下。
删除圆圈中第m个人,当一个人删除后,从被删除人的下一个继续删除第m个人,直到剩下最后两个人,
var go = function(N, m){
var arr = new Array();
for(var i=0; i<N; i++){
arr[i] = i+1;
}
for(var i=1; i<arr.length; i++){
if(arr.length > i+1){
if(i%m == 0){
var curNum = i-1;
console.log("--------:"+arr[curNum]);
arr.splice(curNum,1,0);
}else{
var curNum = i-1;
console.log("nononon:"+arr[curNum]);
arr.push(arr[curNum]);
arr.splice(curNum,1,0);
console.log(arr)
}
}else{
console.log(arr);
}
}
}
go(1000,3);
这个首先要理解题意,现在这种写法,还是不怎么完善的,有兴趣可以交流下。