18/03/2021, 09:37

Tính giai thừa trong java

Giải phương trình bậc 2 trong java Nội dung chính Đề bài Lời giải Tính giai thừa không sử dụng đệ quy Tính giai thừa có sử dụng đệ quy Đề bài Viết chương trình tính giai thừa của một số nguyên. Định nghĩa : giai thừa của 1 số là tích các ...

Giải phương trình bậc 2 trong java

Nội dung chính

  • Đề bài
  • Lời giải
  • Tính giai thừa không sử dụng đệ quy
  • Tính giai thừa có sử dụng đệ quy

Đề bài

Viết chương trình tính giai thừa của một số nguyên.

Định nghĩa : giai thừa của 1 số là tích các số liên tiếp từ 1 đến số đó. Trường hợp đặc biệt, giai thừa của 0 và 1 là 1.

Ví dụ: giai thừa của 5 là 1*2*3*4*5 = 120


Lời giải

Có 2 cách để viết chương trình tính giai thừa trong java:

  • Tính giai thừa không sử dụng đệ quy
  • Tính giai thừ có sử dụng đệ quy

Tính giai thừa không sử dụng đệ quy

Ví dụ chương trình tính giai thừa trong java không sử dụng phương pháp đệ quy:


public class GiaiThuaDemo1 {

    /**
     * main
     * 
     * @author viettuts.vn
     * @param args
     */
    public static void main(String[] args) {
        int a = 5;
        int b = 0;
        int c = 10;

        System.out.println("Giai thừa của " + a + " là: " 
                + GiaiThuaDemo1.tinhGiaithua(a));
        System.out.println("Giai thừa của " + b + " là: " 
                + GiaiThuaDemo1.tinhGiaithua(b));
        System.out.println("Giai thừa của " + c + " là: " 
                + GiaiThuaDemo1.tinhGiaithua(c));
    }
    
    /**
     * tinh giai thua
     * 
     * @author viettuts.vn
     * @param n: so nguyen duong
     * @return giai thua cua so n
     */
    public static long tinhGiaithua(int n) {
        long giai_thua = 1;
        if (n == 0 || n == 1) {
            return giai_thua;
        } else {
            for (int i = 2; i <= n; i++) {
                giai_thua *= i;
            }
            return giai_thua;
        }
    }
}

Kết quả:

Giai thừa của 5 là: 120
Giai thừa của 0 là: 1
Giai thừa của 10 là: 3628800

Tính giai thừa có sử dụng đệ quy

Ví dụ chương trình tính giai thừa trong java có sử dụng phương pháp đệ quy:


public class GiaiThuaDemo2 {

    /**
     * main
     * 
     * @author viettuts.vn
     * @param args
     */
    public static void main(String[] args) {
        int a = 5;
        int b = 0;
        int c = 10;

        System.out.println("Giai thừa của " + a + " là: " 
                + GiaiThuaDemo2.tinhGiaithua(a));
        System.out.println("Giai thừa của " + b + " là: " 
                + GiaiThuaDemo2.tinhGiaithua(b));
        System.out.println("Giai thừa của " + c + " là: " 
                + GiaiThuaDemo2.tinhGiaithua(c));
    }

    /**
     * tinh giai thua
     * 
     * @author viettuts.vn
     * @param n: so nguyen duong
     * @return giai thua cua so n
     */
    public static long tinhGiaithua(int n) {
        if (n > 0) {
            return n * tinhGiaithua(n - 1);
        } else {
            return 1;
        }
    }
}

Kết quả:

Giai thừa của 5 là: 120
Giai thừa của 0 là: 1
Giai thừa của 10 là: 3628800
Giải phương trình bậc 2 trong java

:

  • Dãy số Fibonacci trong java
  • Check số nguyên tố trong java
  • Tính giai thừa trong java
  • Chuyển đổi hệ cơ số trong java
0