枚举和递归

来源:互联网 发布:不用软件 鼠标控制 编辑:程序博客网 时间:2024/05/18 00:40

通个一个程序测试让大家自己去体会

public class Test {
    public Test() {
    }

    /**
     * findmax
     * 从N个整数中找出最大的一个,枚举
     * @param a int[]
     * @param N int
     * @return int
     */
    static int findmax(int a[], int N) {
        int maxvalue = 0;
        for (int max = a[0], i = 1; i < N; i++) {
            if (a[i] > max) max = a[i];
            maxvalue = max;
//            System.out.println("i["+i+"]="+max);
        }
        return maxvalue;
    }

    /**
     * gcd
     * 找出两个整数的最大公约数,递归
     * 欧几里得算法
     * @param m int
     * @param n int
     * @return int
     */
    static int gcd(int m,int n){
    if(n==0)return m;
//    System.out.println("gcd(n,m%n)=="+gcd(n,m%n));
    return gcd(n,m%n);
    }

    public static void main(String [] args){
     int a[] = {1,3,5,7,32,46,62,87,32,61};
     int max = findmax(a,10);
     System.out.println("max=="+max);

      System.out.println("gcd=="+gcd(25,15));

    }
}