35选7和斯巴达500勇士

35选7

package com.neuedu.chapter3_0304;

import java.util.Random;

public class Practice5_Work {

    public static void main(String[] args) {
        // 模拟35选7 生成7个不同的1-35之间的数(只用一个循环)
        Random ran= new Random();
//      int num =ran.nextInt(35)+1;//[1,36)
        int arr[]=new int[7];
        boolean b[]=new boolean[35];
        
        for(int i = 0;i<7;i++) {
            int num =ran.nextInt(35)+1;
            if(b[num-1]) {
                i--;
            }else {
                b[num-1]=true;
                System.out.print(num+" ");
            }
        }
        
        
        
        
        
    }

}

斯巴达500勇士

package com.neuedu.chapter3_0304;

public class Practice6_Work {

    public static void main(String[] args) {
        // 500勇士  12x 12x 12x 12x 12x 报到最后一个人时,再从开始或者的人接着报数
        //如此往复,最后就剩一个人,求他所在位置
        boolean b[] =new boolean[500];//500个false,false代表活着,true已经gg
        int rest = 500;// 生还人数
        int count = 1;// 报数
        int i= 0;
                
        while(rest > 1) {
            // 先判断生死
            if(!b[i]) {
                // 判断报的数字是不是3
                if(count == 3) {
                    // 干掉
                    b[i] = true;
                    // 人数自减
                    rest--;
                    // 报的数字清0
                    count = 0;
                    
                }
                // 报数自增
                count++;
                
            }
            i++;
            if(i == 500) {
                i=0;
            }
            
                
            }
        for(int j = 0; j <b.length;j++) {
            if(b[j] == false) {
                System.out.println(j+1);
            }
            
            
        }
        
        
        
    }

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容