【<算法>从零开始】20190716-2

143 阅读1分钟

练习1.1.15

import java.util.Arrays;
public class main {
public static void main(String[] args) {
    int[] a={1,2,3};
    System.out.println(Arrays.toString(histogram(a,3)));
}
public static int[] histogram(int[] a,int M){
    int[] res = new int[M];
    int len= a.length;
    for (int i=0;i<M;i++){
        for(int j =0;j<len;j++){
            if (a[j]==i) res[i]++;
        }
    }
    return res;

    }
}

练习1.1.20

import java.lang.Math;
import java.util.Arrays;
public class main {
public static void main(String[] args) {
    System.out.println(factorialLog(3));
}

public static double factorialLog(int N){
    if(N==1) return 0;
    else return factorialLog(N-1)+Math.log(N);
    }

}

练习1.1.24

import java.util.Scanner;
import java.lang.Math;
import java.util.Arrays;
public class main {
public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    System.out.print("please input first number:");
    int a=scan.nextInt();
    System.out.print("please input second number:");
    int b=scan.nextInt();

    System.out.println(Euclid(a,b));
}

public static int Euclid(int a, int b){
    if (b==0) return a;
    else {
        int r = a%b;
        return Euclid(b,r);
        }

    }
}