Bu dersimizde Recursive fonksiyon ile 2 sayının ebob’unu alan uygulama yazacağız. Programı yazarken kullancağımız mantık şu şekilde;
- Önce kullanıcıdan 2 sayı alınır.
- Alınan Bu Sayıların küçük olanı bir değişken(sayi1) atanıp sayılar ebob(x,y) şeklinde fonksiyona aktarılır.
- Fonksiyonda bu sayıların küçük sayıya göre mod’u alınır.
- Eğer her iki sayı için de mod = 0 ise EBOB bu değerdir.
- Eğer herhangi biri veya hiçbiri için mod = 0 değilse başta farklı bir değişkene(sayi1) aktardığımız küçük sayı bir azaltılıp return ebob(x,y) ile fonksiyon aynı değerler; farklı (sayi1)değişkeni ile çalıştırılır.
- Fonksiyon en son ihtimalle 1’e gelecektir. Bu durumda zaten otomatik olarak duracaktır. Bu durumda sayılar ‘Arasında Asal’ sayıdırlar.
#include <stdio.h> #include <stdlib.h> #include <ctype.h> int kucuksayi,buyuksayi,sayi; int ebob(int x,int y){ if (x>y){ kucuksayi = y; buyuksayi = x; }else{ kucuksayi = x; buyuksayi = y; } int mod = buyuksayi % sayi ; int mod1 = kucuksayi % sayi ; if (mod==0 && mod1==0){ printf ("EBOB : %d",sayi); }else{ sayi = sayi - 1; return ebob(buyuksayi,kucuksayi); } } int main() { int x,y; printf("EBOB'unu Almak Icin 2 Sayi Giriniz : "); scanf ("%d %d",&x,&y); printf("\n"); if (x>y){ sayi = y; }else{ sayi = x; } ebob(x,y); }
[Toplam:0 Ortalama:0/5]