有这样的题目 黑板上5个数字 随意搽去两相邻的数 并写上两数的差   剩余四个数 从4个数判断原来5个数 求当这四个数为多少的时候 原数的结果集最多

解决方案 »

  1.   

    资源网_IT软件资源网_软件开发教程http://www.5ijavabook.cn
      

  2.   

    说了 0-9之间的数字 可以重复  我才学JAVA 写了一段  虽然结果对了,但是是按照人的思维来写的  class ta
    {
    public static void main(String[] args)
    {
    int abc=0;
    int all=0;
    int[] mmm=new int[5];

    for (int n1=0;n1<10;n1++)
    {
    for(int n2=0;n2<10;n2++)
    {
    for(int n3=0;n3<10;n3++)
    {
    for(int n4=0;n4<10;n4++)
    {
    int[] chu={n1,n2,n3,n4};
    abc=0;
    for(int i=0;i<4;i++)
    {
    int[] ss= new int[4];
    ss[0]=(i+2)%5;
    ss[1]=(i+3)%5;
    ss[2]=(i+4)%5;
    for(int kk=0;kk<2;kk++)
    {
    for(int ll=1;ll<3;ll++)
    {
    if(ss[kk]>ss[ll])
    {
    ss[kk]=ss[kk]+ss[ll];
    ss[ll]=ss[kk]-ss[ll];
    ss[kk]=ss[kk]-ss[ll];
    }
    }
    }
    int[] tt= new int[4];
    tt[0]=(i+1)%4;
    tt[1]=(i+2)%4;
    tt[2]=(i+3)%4;
    tt[3]=0;
    for (int uu=0;uu<2;uu++)
    {
    for(int vv=1;vv<3;vv++)
    {
    if(tt[uu]>tt[vv])
    {
    tt[uu]=tt[uu]+tt[vv];
    tt[vv]=tt[uu]-tt[vv];
    tt[uu]=tt[uu]-tt[vv];
    }
    }
    }
    for(int zz=0;zz<3;zz++)
    {
    mmm[ss[zz]]=chu[tt[zz]];
    }
    for(int ai=0;ai<10;ai++)
    {
    for (int bi=0;bi<10;bi++)
    {
    if(Math.abs(ai-bi)==chu[i])
    {
    abc++;
    mmm[i]=ai;
    mmm[i+1]=bi;
    }
    }
    }



    if(all<=abc)
    {
    all=abc;


    }
    }
    }
    }
    }
    System.out.print("最多结果时为:"+all+"个结果!");
    test(all);
    }
    public static void test(int all2)
    {
    int abc=0;
    int all=0;
    int[] mmm=new int[5];

    for (int n1=0;n1<10;n1++)
    {
    for(int n2=0;n2<10;n2++)
    {
    for(int n3=0;n3<10;n3++)
    {
    for(int n4=0;n4<10;n4++)
    {
    int[] chu={n1,n2,n3,n4};
    abc=0;
    for(int i=0;i<4;i++)
    {
    int[] ss= new int[4];
    ss[0]=(i+2)%5;
    ss[1]=(i+3)%5;
    ss[2]=(i+4)%5;
    for(int kk=0;kk<2;kk++)
    {
    for(int ll=1;ll<3;ll++)
    {
    if(ss[kk]>ss[ll])
    {
    ss[kk]=ss[kk]+ss[ll];
    ss[ll]=ss[kk]-ss[ll];
    ss[kk]=ss[kk]-ss[ll];
    }
    }
    }
    int[] tt= new int[4];
    tt[0]=(i+1)%4;
    tt[1]=(i+2)%4;
    tt[2]=(i+3)%4;
    tt[3]=0;
    for (int uu=0;uu<2;uu++)
    {
    for(int vv=1;vv<3;vv++)
    {
    if(tt[uu]>tt[vv])
    {
    tt[uu]=tt[uu]+tt[vv];
    tt[vv]=tt[uu]-tt[vv];
    tt[uu]=tt[uu]-tt[vv];
    }
    }
    }
    for(int zz=0;zz<3;zz++)
    {
    mmm[ss[zz]]=chu[tt[zz]];
    }
    for(int ai=0;ai<10;ai++)
    {
    for (int bi=0;bi<10;bi++)
    {
    if(Math.abs(ai-bi)==chu[i])
    {
    abc++;
    mmm[i]=ai;
    mmm[i+1]=bi;
    }
    }
    }



    if(abc==all2)
    {
    all=abc;
    System.out.println("此时4个数为:");
    for(int ah=0;ah<4;ah++){
    System.out.print(chu[ah]);
    }
    System.out.println(" ");

    }
    }
    }
    }
    }}
    }