C# ile Recursive Örnekleri

 

Recursive Örnekler

1) Klavyeden girilen sayının faktöriyeli:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace dort_islemm
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Sayi giriniz: ");
            int sayi = Convert.ToInt32(Console.ReadLine());
            islem(sayi);
            Console.WriteLine("{0}! = {1}", sayi,islem(sayi));

            Console.ReadLine();
        }

        public static int islem(int sayi)
        {
            if (sayi <= 0) return 1;
            else return sayi * (islem(sayi - 1));
        }
        
    }
}

2)  0 dan girilen sayıya kadar toplayan program: 


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace toplama
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Sayi giriniz: ");
            int sayi = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Toplam = " + topla(sayi));

            Console.ReadLine();

        }
        public static int topla(int sayi)
        {
            if (sayi==0) { return  0; }
            else
            return sayi + topla(sayi - 1);
        }
        
    }
}

3) Girilen adım numarasındaki fibonacci değerini bulma:



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace fibonacci
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Adim sayisini giriniz: ");
            int adim = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine(fibonacci(adim));
            Console.ReadLine(); 
        }

        public static int fibonacci (int adim)
        {
            if(adim<=2)
            {
                return 1;
            }
            else
            {
                return fibonacci(adim - 1) + fibonacci(adim - 2);
            }
        }
    }
}
 4)0 dan girilen sayıya kadar yazma:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ekrana__sayi
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("sayi giriniz: ");
            int sayi = Convert.ToInt32(Console.ReadLine());
            yaz(sayi);
            Console.ReadLine();
        }

        static void yaz(int sayi)
        {
            if (sayi == 0) return;
            else
            {
                Console.WriteLine(sayi);
                yaz(sayi - 1);
            }
        }
    }
}

5) Bir dizinin minimum değerdeki elemanı:


    using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace dizinin_en_büyük_elemanı
{
    class Program
    {
        public static int findMinRec(int[] A, int n)
        {
            // if size = 0 means whole array  
            // has been traversed  
            if (n == 1)
                return A[0];

            return Math.Min(A[n - 1], findMinRec(A, n - 1));
        }

        static void Main(string[] args)
        {
            int[] A = { 1, 4, 45, 6, -50, 10, 2 };
            int n = A.Length;

            // Function calling  
            Console.WriteLine(findMinRec(A, n));
            Console.ReadLine();
        }
    }
}