package YXH
import io.StdIn._
import scala.collection.mutable.ListBuffer
object HH {
def main(args: Array[String]): Unit = {
var n:Int = readLine("n:").toInt
var m:Int = readLine("m:").toInt
//var state = new Array[Int](n) //n表示数组长度 name=YXH
var state = ListBuffer[Int]() //空列表 name=YXH
//var state = ArrayBuffer[Int]()
//把数组的元素赋值为1/2/3/4/5.... name=YXH
for(i <- 0 to n-1){
state += i+1
}
var curIndex:Int = 0
while(n>1){ //n表示数组中有多少个1,还剩下多少个猴子。 name=YXH
curIndex += m-1 //报数到m,所在的位置。 name=YXH
curIndex = curIndex % n //对n求余,保证不会越界,返回从一开始。 name=YXH
state -= state(curIndex) //把当前位置的数据移除列表 name=YXH
n = n-1
}
println(state.length, state(0))
}
}
约瑟夫环动态循环
最新推荐文章于 2024-05-20 09:23:23 发布