Ana sayfa » C# Faktöriyel Algoritması
Algoritma C# Yazılım Dilleri

C# Faktöriyel Algoritması

Faktöriyel Algoritması

Yazılıma yeni adım atanlar için öğrenme aşamasındaki bir başka algoritma faktöriyel algoritmasıdır. Faktöriyel algoritması aslında bir sayının 1’den kendisine kadar olan sayıların çarpımıdır. Bu tanım itibariyle de bakıldığında faktöriyel algoritması recursive yani Türkçe karşılığı ile özyineli bir fonksiyondur

Matematiksel formülüne baktığımızda faktoriyel fonksiyonunun tanımı bu şekilde yapılabilir:

n! = n.(n-1).(n-2) … 1

Yani basitçe faktöriyel fonksiyonu herhangi bir sayı için 1’den o sayıya kadar olan ardışık tam sayıların çarpımına eşittir.

Örneğin 4 için : 4!= 4.3.2.1 = 24
5 için : 5! = 5.4.3.2.1 = 120

Recurive tanımı yani özyineli tanımı olarak ifademiz aşağıdaki gibi olabilir:

n! = n (n-1)!

Faktöriyel Algoritmasını değişik dillerde kodlara dökelim.

C# ile Faktöriyel Algoritması

using System;

namespace FaktoriyelAlgoritması
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("1'den Büyük Bir Sayı Giriniz : ");
            int sayi = int.Parse(Console.ReadLine());
            int sonuc = 1;
            for (int i = 1; i <= sayi; i++)
            {
                sonuc *= i;
            }
            Console.WriteLine(sonuc);
            Console.ReadLine();
        }
    }
}

C# Dili Recursive (Özyineli) Faktöriyel Fonksiyonu

using System;

namespace FaktoriyelAlgoritması
{
    class Program
    {

        static void Main(string[] args)
        {
            Console.WriteLine("1'den Büyük Bir Sayı Giriniz : ");
            int sayi = int.Parse(Console.ReadLine());
            Console.WriteLine(Faktoriyel(sayi));
            Console.ReadLine();
        }

        public static double Faktoriyel(int sayi)
        {
            if (sayi == 1)
                return 1;
            else
                return sayi * Faktoriyel(sayi - 1);
        }
    }
}

Süleyman Düzgün

Ankara Ünv. Bilgisayar Müh.
Kıdemli Yazılım Geliştirici

Yorum Ekle

Yorum yazmak için tıklayın.