Rekursi ialah teknik pengaturcaraan di mana fungsi memanggil dirinya sendiri, digunakan untuk menyelesaikan masalah yang kompleks. Dalam masalah matematik, rekursi digunakan secara meluas, contohnya: mengira faktorial: faktorial(n) = n * faktorial(n-1) jika n > 0, faktorial(0) = 1 mengira jujukan Fibonacci: fibonacci(n) = fibonacci (n-1) + fibonacci(n-2) jika n > 1, fibonacci(0) = 0, fibonacci(1) = 1
Pelaksanaan rekursif fungsi C++: gunakan rekursi untuk menyelesaikan masalah matematik
Apakah rekursi?
Rekursi ialah teknik pengaturcaraan di mana fungsi memanggil dirinya sendiri. Ini membolehkan kami menyelesaikan masalah kompleks dengan cara yang mudah dan elegan.
Contoh penyelesaian secara rekursif masalah matematik
Kira faktorial
Faktor ialah fungsi matematik yang memetakan integer positif yang diberi kepada hasil darab semua faktor integer positifnya. Ia boleh ditakrifkan menggunakan perhubungan rekursif berikut:
factorial(n) = 1 if n == 0 factorial(n) = n * factorial(n-1) if n > 0
Contoh Kod
int factorial(int n) { if (n == 0) { return 1; } return n * factorial(n-1); }
Kira Urutan Fibonacci
Jujukan Fibonacci ialah jujukan nombor di mana setiap nombor ialah hasil tambah bagi dua nombor sebelumnya. Ia boleh ditakrifkan dengan hubungan rekursif berikut:
fibonacci(0) = 0 fibonacci(1) = 1 fibonacci(n) = fibonacci(n-1) + fibonacci(n-2) if n > 1
Contoh kod
int fibonacci(int n) { if (n <= 1) { return n; } return fibonacci(n-1) + fibonacci(n-2); }
Kelebihan
Rekursi mempunyai kelebihan berikut:
Keterbatasan
Rekursi juga mempunyai beberapa batasan:Berikut ialah beberapa penyelesaian menggunakan rekursi Contoh praktikal masalah matematik:
Kira punca kuasa dua nombor
Atas ialah kandungan terperinci Pelaksanaan rekursif fungsi C++: Bagaimana menggunakan rekursi untuk menyelesaikan masalah matematik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!