Sponsor

EBOB ve EKOK Buldurma

Sponsor
Sponsor

Java derslerimiz devam ediyor. Bu hafta dersten önce bir kaç örnek daha paylaşayım dedim. Bu uygulama da EBOB ve EKOK bulma konusunda bir uygulamadır.

Algoritmalarını anlatayım kısaca.

EBOB bulma algoritması;

Ebob bulurken kullanıcıdan aldığımız iki sayıdan hangisinin büyük hangisinin küçük olduğunu tespit ediyorum. Sonrasında for döngüsüne giriyorum şartlarım ise şu şekilde; sayacım büyük sayıdan küçük sayıya doğru geri geri saymaktadır. Bu sayım esnasında eğer büyük ve küçük sayılarımdan her ikisi aynı anda sayacıma bölünürse o sayı ebobtur. Aşağıda ki kodu inceleyince daha iyi anlayacaksınız.

EKOK bulma algoritması;

Aslında Ekok bulurken asal sayıları da bulmam gerekiyor. Ama bir programcı olarak optimum gereklilik ile sonuca gitmek mantıklıdır düşüncesi ile ekok hesaplarken a*b=Ebob*Ekok formülünden ekok değerini çekerek sonuçlandırdım.  🙂

Not: Bundan önceki java derslerinde Eclipse kullanmıştım. Bunda NetBeans kullandım. Çok fazla farklılıklar yok. Ama kodu direk kopyala yapıştır çalışmayabilir. Bundan sonraki uygulama hengi programla yazdığımı da belirteceğim.

Program: EBOB ve EKOK bulma

Dil: Java

Program: NetBeans

Kodlar:

package javaapplication1;

/* @author http://blog.selcukoksuz.com  */import java.util.Scanner;//Klavyeden değer almak için gerekli kütüphane
public class Ebob_Ekok {
    public static void main(String[] args)
    {
        int a,b,i,max,min,Ebob=1,Ekok=1;
        Scanner Klavye = new Scanner(System.in);//Kalvyeden değer alan java nesnesi
        System.out.println("EBOB ve EKOK hesabı için iki değer giriniz.");
        System.out.print("İlk değeri giriniz = ");
        a = Klavye.nextInt();
        System.out.print("İkinci değeri giriniz = ");
        b = Klavye.nextInt();

        max = (a>b) ? a:b;
        min = (a>b) ? b:a;

        for(i=max;i>=min;i--)
        {
            if((min%i==0)&&(max%i==0))
            {
                Ebob = Ebob * i;
            }
            Ekok = (a*b)/Ebob;
        }
        System.out.println("EBOB = "+Ebob+" EKOK = "+Ekok+"\nhttp://blog.selcukoksuz.com");
    }
}

Çalışmalarımız devam edecektir arkadaşlar. Kodlamalar ile alakalı sizlerinde yorumlarını beklerim. Düşüncelerinizi merak ediyorum. Çünkü sadece yayınlıyorum ve geri dönüşü göremiyorum. Belki yanlış yaptığım yerler var. Gördüğünüz eksiklikler varsa hemen aşağıda direk facebook ile yorum yazabilirsiniz.

Sponsor
B.Selçuk ÖKSÜZ: Bilgisayarla yaşamayı bir tarz olarak benimsemiş, teknoloji ile tamamen içli dışlı bir; web tasarımcı, yazılımcı, donanımcı, blog yazarı ve bilgisayar mühendisidir.

View Comments (2)

  • yazmış olduğun sadece birbirlerinin katları olan sayılar için geçerlidir. (ör: 9/27 , 12 /48 vs...)
    birbirlerinin tam katları olmayan sayılar için vermiş olduğun komut 1 değerini döndürmektedir.

    int max , min , s_ebob=1 ;

    max = (x1>x2) ? x1:x2;
    min = (x1>x2) ? x2:x1;

    if (max % min ==0)
    {
    for (int i = max ; i>=min ; i--)
    {

    if (min%i==0 && max%i==0 )
    {
    s_ebob *=i ;
    break ;

    }

    }

    }else if (max % min !=0)
    {
    for (int i = max ; i>=2 ; i--)
    {
    if (min%i==0 && max%i==0 && i!=2 )
    {
    s_ebob *=i;
    break ;
    }

    }
    }else {
    s_ebob = 2 ;

    }

    return s_ebob;

Yorumunuz
Sponsor