C/C++ Faktöriyel Hesaplama

Paylaş

C ve C++ programlama dili ile faktöriyel hesaplama için kullanılan tekrarlamalı (iterative) ve özyinelemeli (recursive) yöntemlerle ilgili bilgiler yer alıyor.

Faktöriyel hesaplama

Faktöriyel hesaplama işlemi belirli bir sayıdan 1 sayısına kadar olan sayıların çarpımıdır.

Örneğin; 5 sayısı için 5*4*3*2*1 = 120

C ve C++ programlama dilinde faktöriyel hesaplamak için tekrarlamalı ve özyinelemeli yöntemler kullanılır.

Tekrarlamalı yöntem

Tekrarlamalı yöntem veya iteratif yöntem programlama dili içerisinde yer alan döngüler kullanılarak yapılan işlemdir.

#include <iostream>

using namespace std;

int main(){

  int faktoriyel = 1, sayi = 0;

  cout << "Sayi giriniz: ";
  cin >> sayi;

  for (int i = 2; i <= sayi; i++){
    faktoriyel *= i;
  }

  cout << faktoriyel;

  return 0;
}

C ile;

#include <stdio.h>

int main(){

  int i = 0, faktoriyel = 1, sayi = 0;

  fprintf(stdout, "Sayi giriniz: ");
  fscanf(stdin, "%d", &sayi);

  for(i = 2; i <= sayi; i++){
    faktoriyel *= i;
  }

  fprintf(stdout, "%d", faktoriyel);

  return 0;
}

Tekrarlamalı yöntemin while döngüsü ile yapılmış hali aşağıdaki gibidir.

#include <iostream>

using namespace std;

int main(){

  int faktoriyel = 1, sayi = 0;

  cout << "Sayi giriniz: ";
  cin >> sayi;

  while (sayi >= 2){
    faktoriyel *= sayi;
    sayi--;
  }

  cout << faktoriyel;

  return 0;
}

Özyinelemeli yöntem

Özyinelemeli yöntem veya rekürsif yöntem yazılan fonksiyonunun sürekli kendini çağırmasıdır.

#include <iostream>

using namespace std;

int faktoriyel(int sayi){

  if(sayi <= 1) return 1;

  return sayi * faktoriyel(sayi - 1);
}

int main(){

  int sayi = 0;

  cout << "Sayi giriniz: ";
  cin >> sayi;

  cout << faktoriyel(sayi);

  return 0;
}

C ile;

#include <stdio.h>

int faktoriyel(int sayi){

  if(sayi <= 1) return 1;

  return sayi * faktoriyel(sayi - 1);
}

int main(){

  int sayi = 0;

  fprintf(stdout, "Sayi giriniz: ");
  fscanf(stdin, "%d", &sayi);

  fprintf(stdout, "%d", faktoriyel(sayi));

  return 0;
}

NOT: Faktöriyel hesaplama işleminde büyük sayılar işletim sistemi mimarisine göre farklı sonuçlar verebilir.

Programlama örneklerine buradan ulaşabilirsiniz…

Hayırlı günler dilerim.


Bunlarda ilgini çekebilir


Destek almak için tıklayın.