C ile OBEB Bulma (recursion)

Discussion in 'Programlama' started by ......, Aug 6, 2009.

  1. ......

    ...... Misafir

    Bu program kullanıcıdan aldığı iki sayının ortak bölenlerinin en büyüğünü recursive olarak çalışan bir obeb fonksiyonu ile bulur.


    Code:
    #include<stdio.h>
    
    int obeb(int a,int b);
    
    main()
    {
    int sayi1,sayi2;
    
    printf("iki sayi giriniz:");
    scanf("%d %d",&sayi1, &sayi2);
    
    printf("OBEB : %d\n",obeb( sayi1,sayi2 ));
    }
    
    //Girilen sayılardan biri 0 ise OBEB değeri diğer sayı kadardır.  
    //Eğer b, a'yı tam bölüyorsa (yani a(mod b)=0 ise) OBEB dağeri a kadardır.
    //Bölemiyorsa 'obeb' fonksiyonu "b" ve "a'nın b'ye bölümünden kalan"
    // parametreleriyle tam bölen değer bulunana kadar çağırılır.
    
    int obeb(int a, int b)
    {
       if (b == 0)
          return a;
       else
          return obeb(b, a % b);
    }
     

Share This Page