欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

出席体检的男生和女生的人数分别是多少?我在哪里?,体检人数,今天看到两道有意思的题目

来源: javaer 分享于  点击 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
相关栏目:

用户点评