题目要求如下:
有N个小朋友围成一圈做游戏,从第一个小朋友起以一开始报数,报到3的小朋友离开游戏,
剩下小朋友继续从一开始报数,依次类推循环之剩下最后一人。
问:所剩下的人在原来的圈子排第几位置?用Java 编写代码
程序如下:
public class ShowNum {
public static void main(String[] args) {
int[] arrayNum=new int[14];
int outNum=0;
int j=1;
int n=0;
for (int i = 0; i < arrayNum.length; i++) {
arrayNum[i]=i+1;
}
while(outNum<arrayNum.length) {
if(arrayNum[(j-1)%arrayNum.length]!=-1){
n++;
if(n==3){
n=0;
outNum++;
System.out.print(arrayNum[(j-1)%arrayNum.length]+" ");
arrayNum[(j-1)%arrayNum.length]=-1;
}
}
j++;
}
}
}
有N个小朋友围成一圈做游戏....用java程序实现
最新推荐文章于 2022-11-07 14:23:01 发布
本文介绍了一个典型的约瑟夫环问题,并通过Java代码实现了该问题的解决方案。具体来说,程序通过模拟N个小朋友围成一圈进行报数游戏的过程,找到最后剩下的小朋友在初始位置中的编号。
4200

被折叠的 条评论
为什么被折叠?



