Trong bài viết này, chúng ta sẽ tìm hiểu cách tìm tổng các số tự nhiên sử dụng đệ quy. Tất cả các số dương từ 1 đến vô cùng được gọi là số tự nhiên. Hàm đệ quy là hàm tự gọi chính nó nhiều lần cho đến khi điều kiện cụ thể được thỏa mãn.
Đệ quy là quá trình lặp lại các mục theo cách tự tương tự. Trong ngôn ngữ lập trình, nếu chương trình cho phép gọi hàm bên trong chính hàm đó, thì đó gọi là lời gọi đệ quy của hàm.
Nhiều ngôn ngữ lập trình triển khai đệ quy bằng ngăn xếp. Nói chung, khi một hàm (caller) gọi hàm khác (callee) hoặc chính nó làm callee, hàm caller chuyển quyền thực thi cho callee. Quá trình chuyển này cũng có thể liên quan đến việc truyền dữ liệu từ caller sang callee.
Dưới đây là minh họa:
Đầu vào
Giả sử đầu vào của chúng ta là:
Nhập số: 25
Đầu ra
Đầu ra mong muốn sẽ là:
Tổng các số tự nhiên đến 25 là 325
Thuật Toán
Bước 1 - BẮT ĐẦU Bước 2 - Khai báo 2 biến nguyên my_input và my_sum Bước 3 - Đọc giá trị từ người dùng hoặc định nghĩa giá trị Bước 4 - Hàm đệ quy 'Add' nhận số nguyên, trả về tổng của giá trị đầu vào và giá trị trước đó cho đến khi đầu vào giảm xuống 0 Bước 5 - Hàm đệ quy được gọi và giá trị 'my_input' truyền cho nó. Lưu giá trị trả về Bước 6 - Hiển thị kết quả Bước 7 - DỪNG
Ví Dụ 1
Ở đây, đầu vào được nhập bởi người dùng dựa trên nhắc nhở. Bạn có thể thử ví dụ này trực tiếp trong công cụ coding ground của chúng tôi.
import java.util.Scanner;
public class NaturalNumbers {
public static void main(String[] args) {
int my_input, my_sum;
System.out.println("Các gói cần thiết đã được nhập");
Scanner my_scanner = new Scanner(System.in);
System.out.println("Đối tượng đọc đã được định nghĩa");
System.out.print("Nhập số: ");
my_input = my_scanner.nextInt();
System.out.println("Số được định nghĩa là " + my_input);
my_sum = Add(my_input);
System.out.println("Tổng các số tự nhiên đến " + my_input + " là " + my_sum);
}
public static int Add(int my_input) {
if (my_input > 0)
return my_input + Add(my_input - 1);
else
return my_input;
}
}
Đầu Ra
Các gói cần thiết đã được nhập Đối tượng đọc đã được định nghĩa Nhập số: 25 Số được định nghĩa là 25 Tổng các số tự nhiên đến 25 là 325
Ví Dụ 2
Ở đây, số nguyên đã được định nghĩa trước, và giá trị của nó được truy cập và hiển thị trên bảng điều khiển.
public class NaturalNumbers {
public static void main(String[] args) {
int my_input, my_sum;
my_input = 25;
System.out.println("Số được định nghĩa là " + my_input);
my_sum = Add(my_input);
System.out.println("Tổng các số tự nhiên đến " + my_input + " là " + my_sum);
}
public static int Add(int my_input) {
if (my_input > 0)
return my_input + Add(my_input - 1);
else
return my_input;
}
}
Đầu Ra
Số được định nghĩa là 25 Tổng các số tự nhiên đến 25 là 325