约瑟夫环问题:一群人围成一个圈,开始报数,第三个死,下一个从1开始,问第几位最后不死

package com.softeem.practice;

import java.util.Scanner;

/**

 * 约瑟夫环

 * 一群人围成一个圈,开始报数,第三个死,下一个从1开始,问第几位最后不死

 * @author Administrator

 *

 */

public class Practice {

public static void live(){

Scanner sc=new Scanner(System.in);

System.out.print(“参与人数:”);

int num=sc.nextInt();

int[] array=new int[num];

for(int i=0;i<array.length;i++){

array[i]=1;

}

int m=num,n=0;

do{

for(int i=0;i<array.length;i++){

if(array[i]==1){

n++;

if(n==3){

array[i]=0;

n=0;

m–;

continue;

}

}

}

}while(m>1);

for(int i=0;i<array.length;i++){

if(array[i]==1){

System.out.println(“结果:第”+(i+1)+”位不会死。”);

}

}

}

public static void main(String[] args) {

while(true){

live();

}

}

}

    原文作者:约瑟夫环问题
    原文地址: https://blog.csdn.net/qq_36486085/article/details/79842714
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞