出来るだけ寝ていたい

1日最低12時間睡眠、寝たら負け

チャレンジ課題5

全探索するだけ。

package kadai1.prog1.main;
import java.util.Stack;
public class Prog004 {
            public static void main(String args[]){
                        Stack st=new Stack();
                        //0=="+",1=="-",2=="*",3==くっつける//
                        for(int a=0;a<2;a++){
                                    for(int b=0;b<4;b++){
                                                for(int c=0;c<4;c++){
                                                            for(int d=0;d<4;d++){
                                                                        for(int e=0;e<4;e++){
                                                                                    for(int f=0;f<4;f++){
                                                                                                for(int g=0;g<4;g++){
                                                                                                            for(int h=0;h<4;h++){
                                                                                                                        for(int i=0;i<4;i++){
                                                                                                                                    while(!st.empty()){
                                                                                                                                                st.pop();
                                                                                                                                    }
                                                                                                                                    int sum=0;
                                                                                                                                    int u[]={0,0,0,0,0,0,0,0,0};
                                                                                                                                    st.push(123456789);
                                                                                                                                    if(b!=3){
                                                                                                                                                int v=(int)st.pop();
                                                                                                                                                st.push(v/100000000);
                                                                                                                                                st.push(v0000000);
                                                                                                                                    }
                                                                                                                                    if(c!=3){
                                                                                                                                                int v=(int)st.pop();
                                                                                                                                                st.push(v/10000000);
                                                                                                                                                st.push(v000000);
                                                                                                                                    }
                                                                                                                                    if(d!=3){
                                                                                                                                                int v=(int)st.pop();
                                                                                                                                                st.push(v/1000000);
                                                                                                                                                st.push(v00000);
                                                                                                                                    }
                                                                                                                                    if(e!=3){
                                                                                                                                                int v=(int)st.pop();
                                                                                                                                                st.push(v/100000);
                                                                                                                                                st.push(v0000);
                                                                                                                                    }
                                                                                                                                    if(f!=3){
                                                                                                                                                int v=(int)st.pop();
                                                                                                                                                st.push(v/10000);
                                                                                                                                                st.push(v000);
                                                                                                                                    }
                                                                                                                                    if(g!=3){
                                                                                                                                                int v=(int)st.pop();
                                                                                                                                                st.push(v/1000);
                                                                                                                                                st.push(v00);
                                                                                                                                    }
                                                                                                                                    if(h!=3){
                                                                                                                                                int v=(int)st.pop();
                                                                                                                                                st.push(v/100);
                                                                                                                                                st.push(v0);
                                                                                                                                    }
                                                                                                                                    if(i!=3){
                                                                                                                                                int v=(int)st.pop();
                                                                                                                                                st.push(v/10);
                                                                                                                                                st.push(v);
                                                                                                                                    }
                                                                                                                                    //-------------------------------------------------ok//
                                                                                                                                    if(i==3){
                                                                                                                                                u[8]=0;
                                                                                                                                    }else{
                                                                                                                                                u[8]=(int)st.pop();
                                                                                                                                    }
                                                                                                                                    if(h==3){
                                                                                                                                                u[7]=0;
                                                                                                                                    }else{
                                                                                                                                                u[7]=(int)st.pop();
                                                                                                                                    }
                                                                                                                                    if(g==3){
                                                                                                                                                u[6]=0;
                                                                                                                                    }else{
                                                                                                                                                u[6]=(int)st.pop();
                                                                                                                                    }
                                                                                                                                    if(f==3){
                                                                                                                                                u[5]=0;
                                                                                                                                    }else{
                                                                                                                                                u[5]=(int)st.pop();
                                                                                                                                    }
                                                                                                                                    if(e==3){
                                                                                                                                                u[4]=0;
                                                                                                                                    }else{
                                                                                                                                                u[4]=(int)st.pop();
                                                                                                                                    }
                                                                                                                                    if(d==3){
                                                                                                                                                u[3]=0;
                                                                                                                                    }else{
                                                                                                                                                u[3]=(int)st.pop();
                                                                                                                                    }
                                                                                                                                    if(c==3){
                                                                                                                                                u[2]=0;
                                                                                                                                    }else{
                                                                                                                                                u[2]=(int)st.pop();
                                                                                                                                    }
                                                                                                                                    if(b==3){
                                                                                                                                                u[1]=0;
                                                                                                                                    }else{
                                                                                                                                                u[1]=(int)st.pop();
                                                                                                                                    }
                                                                                                                                    u[0]=(int)st.pop();
                                                                                                                                    //--------------------------------------------------ok//
                                                                                                                                    if(b==2){
                                                                                                                                                u[0]=u[0]*u[1];
                                                                                                                                                u[1]=0;
                                                                                                                                    }
                                                                                                                                    if(c==2){
                                                                                                                                                for(int l=1;l>=0 ;l--){
                                                                                                                                                            if(u[l]>0){
                                                                                                                                                                        u[l]=u[l]*u[2];
                                                                                                                                                                        u[2]=0;
                                                                                                                                                                        break;
                                                                                                                                                            }
                                                                                                                                    }
                                                                                                                                    }
                                                                                                                                    if(d==2){
                                                                                                                                                for(int l=2;l>=0;l--){
                                                                                                                                                            if(u[l]!=0){
                                                                                                                                                                        u[l]=u[l]*u[3];
                                                                                                                                                                        u[3]=0;
                                                                                                                                                                        break;
                                                                                                                                                            }
                                                                                                                                                }
                                                                                                                                    }
                                                                                                                                    if(e==2){
                                                                                                                                                for(int l=3;l>=0 ;l--){
                                                                                                                                                            if(u[l]!=0){
                                                                                                                                                                        u[l]=u[l]*u[4];
                                                                                                                                                                        u[4]=0;
                                                                                                                                                                        break;
                                                                                                                                                            }
                                                                                                                                                }
                                                                                                                                    }
                                                                                                                                    if(f==2){
                                                                                                                                                for(int l=4;l>=0 ;l--){
                                                                                                                                                            if(u[l]!=0){
                                                                                                                                                                        u[l]=u[l]*u[5];
                                                                                                                                                                        u[5]=0;
                                                                                                                                                                        break;
                                                                                                                                                            }
                                                                                                                                                }
                                                                                                                                    }
                                                                                                                                    if(g==2){
                                                                                                                                                for(int l=5;l>=0 ;l--){
                                                                                                                                                            if(u[l]!=0){
                                                                                                                                                                        u[l]=u[l]*u[6];
                                                                                                                                                                        u[6]=0;
                                                                                                                                                                        break;
                                                                                                                                                            }
                                                                                                                                                }
                                                                                                                                    }
                                                                                                                                    if(h==2){
                                                                                                                                                for(int l=6;l>=0 ;l--){
                                                                                                                                                            if(u[l]!=0){
                                                                                                                                                                        u[l]=u[l]*u[7];
                                                                                                                                                                        u[7]=0;
                                                                                                                                                                        break;
                                                                                                                                                            }
                                                                                                                                                }
                                                                                                                                    }
                                                                                                                                    if(i==2){
                                                                                                                                                for(int l=7;l>=0 ;l--){
                                                                                                                                                            if(u[l]!=0){
                                                                                                                                                                        u[l]=u[l]*u[8];
                                                                                                                                                                        u[8]=0;
                                                                                                                                                                        break;
                                                                                                                                                            }
                                                                                                                                                }
                                                                                                                                    }
                                                                                                                                    //--------------------------------------------------//
                                                                                                                                    if(a==1){
                                                                                                                                                u[0]*=-1;
                                                                                                                                    }
                                                                                                                                    if(b==1){
                                                                                                                                                u[1]*=-1;
                                                                                                                                    }
                                                                                                                                    if(c==1){
                                                                                                                                                u[2]*=-1;
                                                                                                                                    }
                                                                                                                                    if(d==1){
                                                                                                                                                u[3]*=-1;
                                                                                                                                    }
                                                                                                                                    if(e==1){
                                                                                                                                                u[4]*=-1;
                                                                                                                                    }
                                                                                                                                    if(f==1){
                                                                                                                                                u[5]*=-1;
                                                                                                                                    }
                                                                                                                                    if(g==1){
                                                                                                                                                u[6]*=-1;
                                                                                                                                    }
                                                                                                                                    if(h==1){
                                                                                                                                                u[7]*=-1;
                                                                                                                                    }
                                                                                                                                    if(i==1){
                                                                                                                                                u[8]*=-1;
                                                                                                                                    }
                                                                                                                                    //--------------------------------------------------//
                                                                                                                                    for(int l=0;l<9;l++){
                                                                                                                                                sum+=u[l];
                                                                                                                                    }
                                                                                                                                                //------------------------------------------------------//
                                                                                                                                                if(sum==100){
                                                                                                                                                            if(a==1){
                                                                                                                                                                        System.out.print("-");
                                                                                                                                                            }
                                                                                                                                                            System.out.print(1);
                                                                                                                                                            if(b==0){
                                                                                                                                                                        System.out.print("+");
                                                                                                                                                            }else if(b==1){
                                                                                                                                                                        System.out.print("-");
                                                                                                                                                            }else if(b==2){
                                                                                                                                                                        System.out.print("*");
                                                                                                                                                            }
                                                                                                                                                            System.out.print(2);
                                                                                                                                                            if(c==0){
                                                                                                                                                                        System.out.print("+");
                                                                                                                                                            }else if(c==1){
                                                                                                                                                                        System.out.print("-");
                                                                                                                                                            }else if(c==2){
                                                                                                                                                                        System.out.print("*");
                                                                                                                                                            }
                                                                                                                                                            System.out.print(3);
                                                                                                                                                            if(d==0){
                                                                                                                                                                        System.out.print("+");
                                                                                                                                                            }else if(d==1){
                                                                                                                                                                        System.out.print("-");
                                                                                                                                                            }else if(d==2){
                                                                                                                                                                        System.out.print("*");
                                                                                                                                                            }
                                                                                                                                                            System.out.print(4);
                                                                                                                                                            if(e==0){
                                                                                                                                                                        System.out.print("+");
                                                                                                                                                            }else if(e==1){
                                                                                                                                                                        System.out.print("-");
                                                                                                                                                            }else if(e==2){
                                                                                                                                                                        System.out.print("*");
                                                                                                                                                            }
                                                                                                                                                            System.out.print(5);
                                                                                                                                                            if(f==0){
                                                                                                                                                                        System.out.print("+");
                                                                                                                                                            }else if(f==1){
                                                                                                                                                                        System.out.print("-");
                                                                                                                                                            }else if(f==2){
                                                                                                                                                                        System.out.print("*");
                                                                                                                                                            }
                                                                                                                                                            System.out.print(6);
                                                                                                                                                            if(g==0){
                                                                                                                                                                        System.out.print("+");
                                                                                                                                                            }else if(g==1){
                                                                                                                                                                        System.out.print("-");
                                                                                                                                                            }else if(g==2){
                                                                                                                                                                        System.out.print("*");
                                                                                                                                                            }
                                                                                                                                                            System.out.print(7);
                                                                                                                                                            if(h==0){
                                                                                                                                                                        System.out.print("+");
                                                                                                                                                            }else if(h==1){
                                                                                                                                                                        System.out.print("-");
                                                                                                                                                            }else if(h==2){
                                                                                                                                                                        System.out.print("*");
                                                                                                                                                            }
                                                                                                                                                            System.out.print(8);
                                                                                                                                                            if(i==0){
                                                                                                                                                                        System.out.print("+");
                                                                                                                                                            }else if(i==1){
                                                                                                                                                                        System.out.print("-");
                                                                                                                                                            }else if(i==2){
                                                                                                                                                                        System.out.print("*");
                                                                                                                                                            }
                                                                                                                                                            System.out.print(9);
                                                                                                                                                            System.out.println("=100");
                                                                                                                                                }
                                                                                                                        }
                                                                                                            }
                                                                                                }
                                                                                    }
                                                                        }
                                                            }
                                                }
                                    }
                        }
            }
            }

異常なほど長くなったけど気にしない。
配列、スタック位しか使ってないから誰でも書ける簡単コード。
優しい。