出席体检的男生和女生的人数分别是多少?我在哪里?,体检人数,今天看到两道有意思的题目
分享于 点击 10127 次 点评:256
出席体检的男生和女生的人数分别是多少?我在哪里?,体检人数,今天看到两道有意思的题目
今天看到两道有意思的题目:
1、假如你是某班班长,卫生院组织全校师生做身体检查,在这种情况下,需要将男女分开体检,那么用什么方法可以最快的清点现场出席的男生和女生各有多少人?
2、有17个人围成一个圈(编号0-16),从0号的人开始从1报数,凡是报到3的倍数的人就主动离开圈子,然后一直再数下去,直到最后一个人为止,请问最后留下来的人原来的位置是多少号?
第一道题:package interesting;import java.util.Random;public class CountBoysAndGirls { public static void main(String[] args) { int sum_boy=0; int sum_girl=0; String sex[]=new String[50]; Random ran=new Random(); System.out.println("随机生成的各个学生情况:"); for(int i=0; i<sex.length; i++){ int boyorgirl=ran.nextInt(2);//表示性别,0:男生,1:女生 int bepresent=ran.nextInt(2);//表示出席,0:缺席,1:出席 sex[i]=boyorgirl+","+bepresent; System.out.print(sex[i]+"\\t"); if((i+1)%10==0) System.out.println(); } for(int i=0;i<sex.length;i++){ String temp[]=sex[i].split(","); if(temp[0].equals("0")&&temp[1].equals("1")){ sum_boy++; } else if(temp[0].equals("1")&&temp[1].equals("1")){ sum_girl++; } } System.out.println("出席的男生:"+sum_boy); System.out.println("出席的女生:"+sum_girl); }}运行结果:随机生成的各个学生情况:0,1 1,0 1,1 1,1 0,0 1,1 0,1 0,1 0,1 1,1 0,0 0,0 1,1 0,0 0,1 0,1 1,1 0,1 1,1 1,0 0,0 0,1 0,0 1,0 0,1 0,1 0,1 0,1 0,0 0,0 0,1 0,0 0,1 0,0 0,0 1,1 0,0 0,0 0,1 0,1 1,1 1,1 0,1 0,1 1,0 1,0 0,0 1,1 0,1 1,0 出席的男生:19出席的女生:11第二道题:package interesting;public class WhereAmI { public static void main(String[] args) { // TODO Auto-generated method stub int[] person=getLocation(); System.out.println("最后结果如下:(0表示已离开圈子,1表示任留在圈子中)"); for(int i=0; i<person.length; i++){ System.out.print(person[i]+" "); if((i+1)%5==0) System.out.println(); //寻找哪个状态为1的,则此人就是一直没有出圈的人,获得下标,就是此人原来位置的编号 if(person[i]==1){ System.out.println("这个人原来的位置编号是:"+i); } }} private static int[] getLocation() { int[] person=new int[17]; // TODO Auto-generated method stub for(int i=0; i<person.length ;i++){ person[i]=1; } int i=0; int k=0; int count=0; while(true){ i=i%17; if(person[i]==1){ k++; if(k%3==0){ person[i]=0; count++; } } if(count==16){ break; } i++; } return person; }}运行结果:最后结果如下:(0表示已离开圈子,1表示任留在圈子中)0 0 0 0 0 0 0 0 0 0 1 这个人原来的位置编号是:100 0 0 0 0 0//该片段来自于http://byrx.net
用户点评