Jump to content
Üyelik kaydınızı yaparak son yazılan içeriklerden haberdar olun! ×
  • entries
    19
  • comments
    0
  • views
    80,459

En Küçük Ortak Kat(EKOK) nedir?


Doğuhan ELMA

285 views

En küçük ortak kat, belirli bir sayı kümesinde kat olan en küçük pozitif tam sayı olarak tanımlanabilir. En küçük ortak kat bazen en küçük ortak kat olarak adlandırılır ve (EKOK) olarak kısaltılır.

Örneğin, 2, 3 ve 7'nin EKOK'u 42'dir çünkü 42, 2, 3 ve 7'nin katıdır. 42'den küçük, üç sayının katı olan başka bir sayı yoktur.

En Küçük Ortak Katlar Nasıl Bulunur?
İki veya daha fazla sayının EKOK'u çeşitli yöntemlerle bulunabilir. Bu yöntemlerden bazıları aşağıda açıklanmıştır.

Çarpanlara ayırma yöntemi
Sayıların EKOK'u, bu sayıyı bir çarpan olarak oluşturmak için çarpılan bir kümedeki tüm sayıları çarpanlarına ayırarak hesaplanabilir.

Örneğin:

20 ve 42 olmak üzere iki sayının EKOK'unu bulmak istediğinizi varsayalım.

Çözüm:

Kümedeki her sayının çarpanlarını listeleyerek başlayın.
20 = 2x2x5

42 = 2x3x7

EKOK, bu sayının çarpanlarının şu şekilde çarpılmasıyla elde edilir:
asalların üssü en büyük olanlar çarpılır.

20 için 2 üssü 2 daha büyük olduğundan 

22x3x5x7 = 420 olarak bulunur.

Math kütüphanesi örneği: 

import math

def find_lcm(numbers):
    lcm_result = numbers[0]
    for num in numbers[1:]:
        lcm_result = lcm_result * num // math.gcd(lcm_result, num)
    return lcm_result

# Örnek
numbers = [6, 8, 12]
ekok = find_lcm(numbers)
print(f"{numbers} sayılarının EKOK'u: {ekok}")

 

[6, 8, 12] sayılarının EKOK'u: 24

Bu örnekte, find_lcm adlı fonksiyon ile verilen liste içindeki sayıların EKOK'unu buluyoruz. Burada, math.gcd() fonksiyonu ile sayıların EBOB'larını bulup, EKOK hesaplaması için gerekli işlemleri gerçekleştiriyoruz. Sonuç olarak, [6, 8, 12] sayılarının EKOK'u 24 olarak bulunuyor.

 

Sympy örneği:

import sympy as sp

def find_lcm(numbers):
    lcm_result = numbers[0]
    for num in numbers[1:]:
        lcm_result = lcm_result * num // sp.gcd(lcm_result, num)
    return lcm_result

# Örnek
numbers = [6, 8, 12]
ekok = find_lcm(numbers)
print(f"{numbers} sayılarının EKOK'u: {ekok}")
[6, 8, 12] sayılarının EKOK'u: 24

find_lcm adlı fonksiyon ile verilen liste içindeki sayıların EKOK'unu sp.gcd() ve sembolik hesaplamalar kullanarak buluyoruz. sp.gcd() fonksiyonu, sympy kütüphanesinin içinde bulunan en büyük ortak bölen fonksiyonudur ve EKOK hesaplaması için kullanılmaktadır. Sonuç olarak, [6, 8, 12] sayılarının EKOK'u 24 olarak bulunuyor.

Algoritma:

İki verilen örnek kodda birbiriyle aynı algoritmayla yazılmıştır.

  1. Fonksiyonda ilk kod olan lcm_result = numbers[0] ile lcm_result degişkenine numbers listesinin ilk elmanı olan 6 sayısı atanıyor.
  2. for döngüsünde numbers listesinin 2 elemanından başlayarak (ilk eleman lcm_result atandığından ilk elemandan başlamıyoruz) döngü başlar.
  3. lcm_result degişkenine listenin ilk ve 2 elemanının (döngünün birinci itererasyonunda) ekok hesablanıp ataması yapılır. 
  4. lcm_result * num // sp.gcd(lcm_result, num) kodunun anlamı teorik olarak iki sayının çarpımı ekok ile ebob nun çarpıbına eşittirden(a.b = Ebob(a,b).Ekok(a,b)) Ekok burdan denklemden çekilince(yalnız bırakılınca) Ekok(a,b) = a.b / Ebob(a,b) olur. Operatör olarak // kullanılmasının amaçı lcm_result degişkeni tamsayı olmasından bölümden sonra kesirli yanı decimal sonucun oluşmaması içindir.
  5. Döngü her iterasyonda bir önceki iki sayının ekok ile sonrakı sayının yanı listenin elemanı ile tekrar işlemler uygulanarak ekok hesablanır.

Akış Diagramı:

1.png

0 Comments


Recommended Comments

There are no comments to display.

Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...