继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

约瑟夫环问题修改草稿

一嵩寒
关注TA
已关注
手记 4
粉丝 2
获赞 14

package yuesefu.oneslide;
import java.util.Scanner;
import java.util.Arrays;
public class Xuesefu {

public static void main(String[] args) {
    Scanner read=new Scanner(System.in);
    System.out.println("罪犯总数:\n");
    int num=read.nextInt();//罪犯总数
    int j=0;//处决名单记录
    int prisoner[]=new int[num];    
    for(int i=0;i<num;i++){
      prisoner[i]=0;//new   
    }
    num=num-1;

    System.out.println("开始的罪犯索引:\n");
    int rannum=read.nextInt();//开始的罪犯索引
    rannum-=1;
    System.out.println("输入处决底数:\n");
    int lucky=read.nextInt();//处决底数数
    read.close();
    int remain=num;//剩余罪犯数
    if(num==1){
        System.out.print("index=0;");

    }else{
        while(remain!=1){
            for(int i=0;i<lucky;i=i+1){
                int bool=0;
                while(bool==0){
                    rannum++;
                    if(rannum==num){
                        if(prisoner[rannum]==0){
                           bool=1;
                           rannum=0;
                        }

                    }else{
                        if(prisoner[rannum]==0){
                            bool=1;
                        }
                    }
                }

            }
            prisoner[rannum]=1;
            System.out.println("被杀死"+rannum);

            if(rannum==num){
                rannum=0;
            }else{
                rannum++;
            }
            remain--;
        }

    }

}

}

打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP