Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Bahasa C

C - Rekursi

Rekursi adalah proses pengulangan item dengan cara yang serupa. Dalam bahasa pemrograman, jika sebuah program memungkinkan Anda memanggil fungsi di dalam fungsi yang sama, maka itu disebut pemanggilan fungsi secara rekursif.

void recursion() {
   recursion(); /* function calls itself */
}

int main() {
   recursion();
}

Bahasa pemrograman C mendukung rekursi, yaitu fungsi untuk memanggil dirinya sendiri. Tetapi saat menggunakan rekursi, pemrogram harus berhati-hati untuk menentukan kondisi keluar dari fungsi, jika tidak maka akan masuk ke loop tak terbatas.

Fungsi rekursif sangat berguna untuk menyelesaikan banyak masalah matematika, seperti menghitung faktorial suatu bilangan, menghasilkan deret Fibonacci, dll.

Faktorial Bilangan

Contoh berikut menghitung faktorial dari bilangan tertentu menggunakan fungsi rekursif −

Demo Langsung
#include <stdio.h>

unsigned long long int factorial(unsigned int i) {

   if(i <= 1) {
      return 1;
   }
   return i * factorial(i - 1);
}

int  main() {
   int i = 12;
   printf("Factorial of %d is %d\n", i, factorial(i));
   return 0;
}

Ketika kode di atas dikompilasi dan dieksekusi, menghasilkan hasil sebagai berikut

Factorial of 12 is 479001600

Deret Fibonacci

Contoh berikut menghasilkan deret Fibonacci untuk bilangan tertentu menggunakan fungsi rekursif −

Demo Langsung
#include <stdio.h>

int fibonacci(int i) {

   if(i == 0) {
      return 0;
   }
	
   if(i == 1) {
      return 1;
   }
   return fibonacci(i-1) + fibonacci(i-2);
}

int  main() {

   int i;
	
   for (i = 0; i < 10; i++) {
      printf("%d\t\n", fibonacci(i));
   }
	
   return 0;
}

Ketika kode di atas dikompilasi dan dieksekusi, menghasilkan hasil sebagai berikut

0	
1	
1	
2	
3	
5	
8	
13	
21	
34

Bahasa C

  1. C# Hello World - Program C# Pertama Anda
  2. C# Kata Kunci dan Pengidentifikasi
  3. Variabel C# dan Tipe Data (Primitif)
  4. C# Operator
  5. C# Bitwise dan Bit Shift Operator
  6. C# Input dan Output Dasar
  7. C# Ekspresi, Pernyataan, dan Blok (Dengan Contoh)
  8. C# Komentar
  9. Pernyataan istirahat C#
  10. C# lanjutkan Pernyataan