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);
}
}
}
}