OBEB ve OKEK alma işlemini lise yıllarında hepimiz yapmışızdır. Hatırlayalım;
İki sayı düşünün. Bu iki sayıyı tam olarak bölecek(kalansız) ortak bir sayı bulduğumuzda ve bu sayı ortak olarak en küçük ise buna ortak bölenlerin en büyüğü (obeb) deniyordu. Sayılar bu sayıya kendi aralarında daha küçük katlara sahip olabilir ama biz ortak olduğu için en büyük ifadesini kullanıyoruz kafanız karışmasın.
Ortak katların en küçüğü (okek) ise iki sayının yine kalansız olarak bölünmesi şartıyla en küçük ortak katı olarak tanımlanır. Yani bir sayı düşünün, iki sayı bu sayıya kalansız bölünebiliyorsa okek olur.
Şimdi bu iki fonksiyonu C# dilinde bir console application yaparak iki sayının OBEB ve OKEK değerlerini bulmaya çalışacağız. Bunun için % mod operatörünü kullanacağız. Bu operatör iki sayının birbirine bölümünden kalanı bize vermektedir. Bu sayede işimizi kolaylaştırmaktadır.
// www.kaizen40.com using System; namespace ConsoleApp1 { class Program { static void Main(string[] args) { Console.WriteLine("İlk sayıyı girin:"); int sayi1 = Int32.Parse(Console.ReadLine()); Console.WriteLine("İkinci sayıyı girin:"); int sayi2 = Int32.Parse(Console.ReadLine()); int OKEK = 0, OBEB = 0, k; if (sayi1 < sayi2) { k = sayi2; } else { k = sayi1; } // büyük sayıyı al for (; k <= sayi1 * sayi2; k++) // OKEK' i hesapla { if (k % sayi1 == 0 && k % sayi2 == 0) { OKEK = k; break; // iki sayıyı çarp birbirlerine bölümü tam ise kır } } if (sayi1 > sayi2) { k = sayi2; } else { k = sayi1; } // küçük sayıyı al for (; k > 0; k--) // OKEK' i hesapla { if (sayi1 % k == 0 && sayi2 % k == 0) { OBEB = k; break; // iki sayıyı birbirine böl, bölüm sıfır ise kır } } Console.WriteLine("OBEB(" + sayi1 + "," + sayi2 + ") = " + OBEB); Console.WriteLine("OKEK(" + sayi1 + "," + sayi2 + ") = " + OKEK); Console.WriteLine("Çıkmak için bir tuşa basın..."); Console.ReadLine(); } } }
Bu tarz basit fonksiyonları denemek için console app yazmanızı tavsiye ederim. Hem daha hızlı derler hemde daha az yer kaplamaktadır. Önemli olan sonucu görmektedir. Kolay gelsin.
0 yorum