首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

找寻思路都来看看

2011-11-06 
寻找思路都来看看1,2,3,4,5,6,7,8,9在九个数字里面取任意的三个数字,不能重复,有多少种取法,比如:比如,1,2

寻找思路都来看看
1,2,3,4,5,6,7,8,9在九个数字里面取任意的三个数字,不能重复,有多少种取法,比如:比如,1,2,3是一组,1,2,4,是一组,1,2,6是一组

[解决办法]

Java code
    public static int getKind(int a[]){    return a.length*(a.length-1)*(a.length-2)/(3*2*1);    }    public static void main(String args[]) {    System.out.println(getKind(new int[]{1,2,3,4,5,6,7,8,9}));//    System.out.println(getKind(new int[9]));//跟里边的元素内容无关    }
[解决办法]
探讨

我大概没说清楚,我的意思是说如何取?当然现在知道多少种取法是比较好的,那如何取呢?比如84种,那把84种都取出来

[解决办法]
Java code
    public static void test(int m, int r)    {        int[] a = new int[10];        int i, j;        i = 0;        a[i] = 1;        while (true)        {            if (a[i]-i<=m-r+1)            {                if (i==r-1)                {                    for (j = 0; j<r; j++)                        System.out.printf("%4d", a[j]);                    System.out.printf("\n");                    a[i]++;                    continue;                }                i++;                a[i] = a[i-1]+1;            }            else            {                if (i==0)                    return;                a[--i]++;            }        }    }    public static void main(String[] args)    {        test(9, 3);    }
[解决办法]
Java code
public class Test{    private int count=0;        public void getSqu(int a[], int index)    {        if(index>2)        {            count++;            for(int i=0; i<3; i++)               System.out.print(a[i]+" ");            System.out.println();            return;        }        else        {             for(int i=1; i<=9; i++)             {                 a[index]=i;                 if(check(a, index))                    getSqu(a, index+1);                 a[index]=0;             }        }    }    public boolean check(int[] a, int index)    {        for(int i=0; i<index; i++)           if(a[i]==a[index])              return false;        return true;    }    public static void main(String[] args)    {        int[] a=new int[3];        Test test=new Test();        test.getSqu(a, 0);        System.out.println("count="+test.count);    }} 

热点排行
Bad Request.