java for循环和数组--冒泡排序、二分查找法
//100以內(nèi)與7相關(guān)的數(shù)
???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塊錢去買洗發(fā)水(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("洗發(fā)水買"+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);
???????}
??????}
?????}
????}
???}
/*某偵察隊接到一項緊急任務(wù),要求在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也不去。
???問應(yīng)當讓哪幾個人去?*/
???
???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");
???}
//二分查找法? 三個下標 一個循環(huán) 取中間 移下標
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("沒找到");
???}
轉(zhuǎn)載于:https://www.cnblogs.com/dnf1612/p/6203528.html
總結(jié)
以上是生活随笔為你收集整理的java for循环和数组--冒泡排序、二分查找法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux上如何查看物理CPU个数,核数
- 下一篇: IntelliJ IDEA 修改包名