Computer >> Máy Tính >  >> Lập trình >> Java

Chương trình Java để tính toán sức mạnh bằng cách sử dụng đệ quy

Trong bài này, chúng ta sẽ hiểu cách tính công suất bằng cách sử dụng đệ quy. Một hàm đệ quy là một hàm gọi chính nó nhiều lần cho đến khi một điều kiện cụ thể được thỏa mãn.

Một hàm đệ quy là một hàm gọi chính nó nhiều lần cho đến khi một đ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ương tự. Trong ngôn ngữ lập trình, nếu một chương trình cho phép bạn gọi một hàm bên trong cùng một hàm, thì nó được gọi là lệnh gọi đệ quy của hàm.

Nhiều ngôn ngữ lập trình thực hiện đệ quy bằng các ngăn xếp. Nói chung, bất cứ khi nào một hàm (người gọi) gọi một hàm khác (callee) hoặc chính nó là callee, thì hàm người gọi sẽ chuyển quyền kiểm soát thực thi đến callee. Quá trình chuyển này cũng có thể liên quan đến một số dữ liệu được chuyển từ người gọi đến người gọi.

Dưới đây là một minh chứng về điều tương tự -

Đầu vào

Giả sử đầu vào của chúng tôi là -

 Nhập số và lũy thừa 2 và 5 của nó 

Đầu ra

Đầu ra mong muốn sẽ là -

 Kết quả của 2 ^ 5 là 32 

Thuật toán

 Bước 1 - STARTSBước 2 - Khai báo ba giá trị số nguyên là my_power, my_input và resultBước 3 - Đọc các giá trị được yêu cầu từ người dùng / xác định các giá trị Bước 4 - Hàm đệ quy 'getPower được định nghĩa, lấy hai số nguyên làm đầu vào và trả về giá trị sản phẩm của giá trị đầu vào với chính nó là 'my_power' số lần.Bước 5 - Hàm được gọi đệ quy cho đến khi giá trị của 'my_power' lớn hơn 0. Lưu trữ kết quả. Bước 6 - Hiển thị kết quả Bước 7 - Dừng  

Ví dụ 1

Ở đây, đầu vào đang được người dùng nhập dựa trên lời nhắc. Bạn có thể thử trực tiếp ví dụ này trong công cụ nền tảng mã hóa của chúng tôi Chương trình Java để tính toán sức mạnh bằng cách sử dụng đệ quy .

 import java.util.Scanner; public class Power {public static void main (String [] args) {int my_power, my_input, result; my_input =2; my_power =5; System.out.println ("Các gói bắt buộc đã được nhập"); Máy quét my_scanner =Máy quét mới (System.in); System.out.println ("Một đối tượng người đọc đã được xác định"); System.out.print ("Nhập số:"); my_input =my_scanner.nextInt (); System.out.print ("Nhập giá trị nguồn:"); my_power =my_scanner.nextInt (); result =getPower (my_input, my_power); System.out.println ("Kết quả của" + my_input + "^" + my_power + "là" + kết quả); } public static int getPower (int my_input, int my_power) {if (my_power! =0) {return (my_input * getPower (my_input, my_power - 1)); } else {return 1; }}} 

Đầu ra

 Các gói bắt buộc đã được nhập Một đối tượng đọc đã được xác định Nhập số:2 Nhập giá trị lũy thừa:5 Kết quả của 2 ^ 5 là 32 

Ví dụ 2

Ở đây, số nguyên đã được xác định 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 Power {public static void main (String [] args) {int my_power, my_input, result; my_input =2; my_power =5; System.out.println ("Số và sức mạnh của nó được định nghĩa là" + my_input + "và" + my_power); result =getPower (my_input, my_power); System.out.println ("Kết quả của" + my_input + "^" + my_power + "là" + kết quả); } public static int getPower (int my_input, int my_power) {if (my_power! =0) {return (my_input * getPower (my_input, my_power - 1)); } else {return 1; }}} 

Đầu ra

 Con số và lũy thừa của nó được xác định là 2 và 5 Kết quả của 2 ^ 5 là 32