Java Source - Bài tập tính giai thừa bằng đệ qui(Calculate Factorial Using Recursion).


Bài tập yêu cầu tính giai thừa của một số bất kỳ bằng phương pháp đệ quy. Đây là bài tập đầu tiên khi học về đệ qui trong lập trình.

Bạn có thể xem bài hướng dẫn về đệ qui để tìm hiểu về phương pháp đệ qui.






CalculateFactorialUsingRecursion.java
 /**
 * @(#)CalculateFactorialUsingRecursion.java
 *
 * CalculateFactorialUsingRecursion application
 *
 * @author VNLIVES.NET
 * @version 1.00 2013/9/30
 */

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class CalculateFactorialUsingRecursion {
     
    public static void main(String args[]) throws NumberFormatException, IOException
    {
         
        System.out.print("Nhap so can tinh giai thua: ");
     
        //Nhập số cần tính giai thừa
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        int a = Integer.parseInt(br.readLine());
     
        //Gọi hàm để tính số giai thừa.
        int result= fact(a);

        System.out.println("Giai thua cua " + a + " la " + result);
          
    }
 
    public static int fact(int b)
    {
        if(b <= 1)
        {
            //Nếu số cần tính giai thừa(b) nhỏ hơn bằng 1 thì trả về giá trị là 1.
            return 1;      
        }
        else
        {
            // Ngược lại sẽ gọi lại chính bản thân nó(fac(int b)) với giá trị b - 1.
            //else call the same function with the value - 1
            return b * fact(b-1);      
        }
    }
  
}

Sau khi chạy chương trình và nhập giá trị tính giai thừa là 5 thì kết quả xuất ra sẽ là 120 như hình bên dưới.























No comments:

Post a Comment