Java EBOB EKOK Hesaplama

Herkese Merhaba! Bugün Java ile EBOB (En Büyük Ortak Bölen) ve EKOK (En Küçük Ortak Kat) hesaplamaya çalışacağız. EBOB EKOK hesaplama konusunu java ‘dan bağımsız olarak inceleyecek olursak EBOB hesaplanırsa EKOK’un da hesaplanacağını biliyoruz. Çünkü EKOK = (Sayi1*Sayi2) / EBOB şeklinde hesaplanabileceğini biliyoruz. Hadi şimdi bu formülden yararlanarak ve EBOB yapısını da inceleyerek kodlamaya başlayalım.


Kısaca EBOB-EKOK

Bildiğiniz üzere EBOB (En Büyük Ortak Bölen) iki sayı üzerindeki en büyük ortak böleni buluyor. Kısa bir örnek ile bakacak olursak 12 ve 36 sayılarını inceleyelim. 12 sayısı (1, 2, 3, 4, 6, 12) değerlerine tam bölünür. 36 sayısı ise (1, 2, 3, 4, 6, 12 , 18, 36) sayılarına tam bölünmektedir. Buna göre iki sayıda ortak olan bölümler (1, 2, 3, 4, 6, 12) değerleridir. Bu değerlerden en büyük olan ise 12 sayısıdır. Bu durumda bizim 12 ve 36 sayısı için en büyük ortak bölenimiz 12 değeri oluyor. Bu durumda EKOK = (Sayi1*Sayi2) / EBOB formülünden EKOK sonucumuzda 36 sonucunu elde edeceğiz. Hadi şimdi bunu kodlama bölümüne geçelim.


Öncelikle bu bölümdeki kodları istediğiniz dile uyarlayabilirsiniz. Tamamen çalışma mantığına odaklanalım. Ve burada fonksiyon kullanarak bu işlemleri yapacağımızı belirtelim. Çünkü bir doğru bir kodlamada modülerlik çok önemlidir! Eğer fonksiyon mantığında eksiğiniz var ise yazılarımızı güncel olarak takip etmenizi öneririm. Hadi daha fazla uzatmadan kodlarımızı yazalım.

     public static int Ebob(int sayi1,int sayi2){
       int ebob =1;
       
       for(int i = 2;i<=sayi1&&i<=sayi2;i++){
           if(sayi1%i==0 && sayi2%i==0){
               ebob=i;
           } 
        }
       return ebob;
      
    }
 
    public static int Ekok(int sayi1,int sayi2,int ebob){
       int ekok = (sayi1*sayi2)/ebob;
       return ekok;
    }

Burada EBOB isimli bir fonksiyon tanımladık. Bu fonksiyonumuz içine (sayi1, sayi2) değişkenlerini alıp integer bir değer döndürecek. Gönderilen iki sayının EBOB değeri en az 1 olacaktır. Bunun sebebi ise gönderilen sayılar asal sayı olsa bile tüm sayılarda 1’e tam bölünecektir. Fakat biz tabii direkt 1 değerini döndürmüyoruz. Öncelikle ebob değerini değiştirebilirmiyiz bunu hesaplayacağız. Bunun için bir for açıyoruz. İkiden başlayıp i<=sayi1&&i<=sayi2 bu koşula kadar devam ediyoruz. Buradaki koşulumuza göre i değerimizi verilen sayı değişkenlerimizden küçük olan hangisiyse o değere kadar i++ yaparak birer birer arttırıyoruz. Ardından bir if koşulumuz var. Girilen iki sayı değişkenimizde aynı i değerine bölünebiliyorsa o sayı ikisinin ortak bölenidir. Burada en büyük ortak böleni elde etme şeklimizde for döngüsündeki i değerini 1 den küçük olan sayıya kadar arttırarak elde ediyoruz. Bu sayede yeni tam bölen i değeri bir önceki tam bölen i değerinden daha büyük olmuş olacak.


EKOK bölümü için bizi daha basit bir fonksiyon karşılıyor. Burada tek yaptığımız fonksiyonumuzun içine aldığı sayi1, sayi2 değişkenlerine ek olarak integer ebob değişkeni alıyoruz. Ve konunun başındaki formülü kullanarak girilen iki sayının EKOK değerini elde etmiş oluyoruz. Son olarak main içerisinde nasıl çalıştırdığımıza bakalım.

Main Bölümü
 public static void main(String[] args) {
        
        Scanner input = new Scanner(System.in);
        
        System.out.print("İlk sayıyı giriniz: ");
        int sayi1 = input.nextInt();
        
        System.out.print("İkinci sayiyi giriniz: ");
        int sayi2 = input.nextInt();
        
        int Ebob = Ebob(sayi1, sayi2);
                
        int Ekok = Ekok(sayi1, sayi2, Ebob);
        
        System.out.println("Girdiğiniz Sayıların \n"
                + "En Büyük Ortak Böleni (EBOB):  "+Ebob
                + "\nEn Küçük Ortak Katı (EKOK): "+Ekok+"'dir");
        
        System.out.println("\nErhanbaran.com");
    }

Fonksiyonlarımızı çalıştırmamız için 2 adet sayıya ihtiyacımız var. Ve bunları kullanıcıdan alacağımız için scanner kullanıyoruz. Ardından sayi1, ve sayi2 değişkenlerinde girilen sayı değerlerini tutuyoruz. Bunları önce Ebob adıyla tuttuğumuz değerde EBOB’larını fonksiyonumuzla hesaplıyoruz. Ardından hesapladığımız ebob değerini de kullanarak ekok sonucunu da elde ediyoruz. Ve bunları çıktı olarak ekrana yazdırıyoruz. Hadi gelin ilk başta yaptığımız örneği uygulamamızda doğrulayalım.

Java EBOK EKOK Hesaplama Örneği Çıktısı
Java EBOK EKOK Hesaplama Örneği Çıktısı

En başta belirttiğim gibi bu kod tamamen her dile uyarlanabilir. Temel mantığını anladıktan sonra değişecek olan tek şey syntax olacaktır. Aslında bakacak olursanız tüm yazılım dilleri konuları için bu söylediğim şey geçerlidir. Hepsinin kendine has özellikleri olsa da buradaki algoritma mantığı tüm dillerde aynı olacaktır. Umarım anlaşılmıştır takıldığınız bir yer olursa bana buradan ulaşabilirsiniz.

Bir sonraki yazıda görüşünceye dek herkese sağlıklı günler dilerim. ❀✿