Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Penjelasan terperinci tentang rekursi fungsi C++: pelaksanaan rekursif jujukan faktorial dan Fibonacci

Penjelasan terperinci tentang rekursi fungsi C++: pelaksanaan rekursif jujukan faktorial dan Fibonacci

王林
王林asal
2024-05-02 13:24:011067semak imbas

Rekursi ialah teknik pengaturcaraan untuk panggilan kendiri fungsi, yang dibahagikan kepada keadaan garis dasar dan panggilan rekursif. Menggunakan rekursi anda boleh melaksanakan faktorial, yang merupakan integer positif didarab dengan hasil semua integer positifnya yang lebih kecil, dan jujukan Fibonacci, yang merupakan jujukan di mana setiap nombor adalah hasil tambah dua nombor sebelumnya.

C++ 函数递归详解:递归实现阶乘和斐波那契数列

C++ Fungsi Rekursi Penjelasan Terperinci: Pelaksanaan Rekursif bagi Urutan Faktor dan Fibonacci

Pengenalan

Rekursi adalah teknik pengaturcaraan sendiri yang membolehkan fungsinya berfungsi Fungsi rekursif biasanya dibahagikan kepada dua bahagian: keadaan garis dasar dan panggilan rekursif.

Pelaksanaan rekursif faktorial

Factorial ialah hasil darab integer positif didarab dengan semua integer positifnya yang lebih kecil. Sebagai contoh, faktorial bagi 5 adalah sama dengan 5 x 4 x 3 x 2 x 1 = 120.

int阶乘(int n) {
  if (n == 0) {  // 基线条件
    return 1;
  } else {
    return n * 阶乘(n - 1);  // 递归调用
  }
}

Kes praktikal: Kira faktorial bagi 10

int result = 阶乘(10);
cout << "10 的阶乘为 " << result << endl;

Output:

10 的阶乘为 3628800

Pelaksanaan rekursif bagi jujukan Fibonacci

Jurutan nombor sebelumnya yang mana dua nombor adalah jujukan sebelumnya. Urutan bermula dengan 0 dan 1.

int斐波那契(int n) {
  if (n == 0) {  // 基线条件
    return 0;
  } else if (n == 1) {
    return 1;
  } else {
    return 斐波那契(n - 1) + 斐波那契(n - 2);  // 递归调用
  }
}

Kes praktikal: Cetak 10 nombor pertama jujukan Fibonacci

for (int i = 0; i < 10; i++) {
  cout << 斐波那契(i) << " ";
}

Output:

0 1 1 2 3 5 8 13 21 34

Atas ialah kandungan terperinci Penjelasan terperinci tentang rekursi fungsi C++: pelaksanaan rekursif jujukan faktorial dan Fibonacci. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn