//100以内与7相关的数

   for(int a=1;a<=100;a++){
    if(a%7==0||a%10==7||a/10==7){
     System.out.print(a+"\t");
    }
   }

//百鸡百钱
   
   for(int a=0;a<=50;a++){
    for(int b=0;b<=100;b++){
     for(int c=0;c<=200;c++){
      if(2*a+b+0.5*c==100){
       System.out.println("公鸡买"+a+"只,母鸡买"+b+"只,小鸡买"+c+"只");
      }
     }
    }
   }

//100块钱去买洗发水(15),牙刷(5),香皂(2),100快全花完,共有多少种买法
   
   for(int a=0;a<=7;a++){
    for(int b=0;b<=20;b++){
     for(int c=0;c<=50;c++){
      if(15*a+5*b+2*c==100){
       System.out.println("洗发水买"+a+"支,牙刷买"+b+"支,香皂买"+c+"块");
      }
     }
    }
   }

//组合硬币
   
   for(int a=0;a<=10000;a++){
    for(int b=0;b<=1000;b++){
     for(int c=0;c<=1000;c++){
      if(a+2*b+5*c==100){
       System.out.println(a+"个一分钱"+b+"个2分钱"+c+"个5分钱");
      }
     }
    }
   }

//123()45()67()8()9=100  ()中填写+,-   将+看作1*,-看作-1*
   
   for(int a=-1;a<=1;a+=2){
    for(int b=-1;b<=1;b+=2){
     for(int c=-1;c<=1;c+=2){
      for(int d=-1;d<=1;d+=2){
       if(123+a*45+b*67+c*8+d*9==100){
        System.out.println("a="+a+",b="+b+",c="+c+",d="+d);
       }
      }
     }
    }
   }

/*某侦察队接到一项紧急任务,要求在A、B、C、D、E、F六个队员中尽可能多地挑若干人,但有以下限制条件:
   l A和B两人中至少去一人;
   l A和D不能一起去;
   l A、E和F三人中要派两人去;
   l B和C都去或都不去;
   l C和D两人中去一个;
   l 若D不去,则E也不去。
   问应当让哪几个人去?*/
   
   for(int a=0;a<=1;a++){
    for(int b=0;b<=1;b++){
     for(int c=0;c<=1;c++){
      for(int d=0;d<=1;d++){
       for(int e=0;e<=1;e++){
        for(int f=0;f<=1;f++){
         if(a+b>=1&&a+d!=2&&a+e+f==2&&(b+c==0||b+c==2)&&c+d==1&&(d+e==0||d==1)){
          System.out.println("a="+a+",b="+b+",c="+c+",d="+d+",e="+e+",f="+f);
         }
        }
       }
      }
     }
    }
   }

//冒泡排序

int[] a=new int[]{21,32,23,42,52,22};
   for(int i=1;i<a.length;i++){
    for(int j=1;j<=a.length-i;j++){
     if(a[j]<a[j-1]){
      int zhong=a[j-1];
      a[j-1]=a[j];
      a[j]=zhong;
     }
    } 
   }
   for(int x=0;x<a.length;x++){
    System.out.print(a[x]+"\t");
   }

//二分查找法  三个下标 一个循环 取中间 移下标

Scanner sc=new Scanner(System.in); 
   int zhao=sc.nextInt();
   boolean biaozhi=false;
   int wz=-1;
   int[] a=new int[]{3,7,9,13,14,18,21,25,33,45};
   int kt=0,jw=9,zj;
   while(kt<=jw){
    zj=(kt+jw)/2;
    if(a[zj]==zhao){    
     biaozhi=true;
     wz=zj;
     break;
    }
    else{
     if(a[zj]<zhao){
      kt=zj+1;
     }
     else
     {
      jw=zj-1;
     }
    }
   }
   if(biaozhi==true){
    System.out.println("找到了"+"在第"+wz+"个");
   }
   else
   {
    System.out.println("没找到");
   }

posted on 2016-12-23 16:53  云破月丶  阅读(1791)  评论(0编辑  收藏  举报