数3退1

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

我在网上找了些java的视频,学习了一下。老师讲了一道题,有500个小孩拉成一个圈,开始123123这样报数,数到3的小孩退出圈外,问:剩下最后一个小孩的位置是多少。

我跟着老师的思路缕了一下,然后自己盲打了一下代码,感觉很复杂,所以把代码copy下来,留给日后复习用。(结果:435)

//数3退1publicclassCount3Quit1 {publicstaticvoidmain(String[] args) {

boolean[] arr=newboolean[500];for(inti =0; i < arr.length; i++){

arr[i]=true;

}intleftCount = arr.length;//剩余小孩数初始化intcountNum =0;//计数器(数3退1)初始化intindex =0;//下标值初始化while(leftCount >1){if(arr[index] ==true){

countNum++;if(countNum ==3){//计数器数到3arr[index] =false;//从true变为false意为让小孩退出countNum =0;//计数器归0leftCount --;//剩余小孩数-1}

}

index++;//下标值if(index == arr.length){//(0-499)当下标为第500时,一圈循环完毕,开始再一次循环,初始化下标index =0;

}

}for(inti =0; i < arr.length; i++){if(arr[i] ==true){

System.out.PRintln(i);//打印最后剩下小孩的位置}

}

}

}

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航