枚举和递归

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

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));

}
}

你可能感兴趣的:(算法)