İçeriğe atla
Üyelik kaydınızı yaparak son yazılan içeriklerden haberdar olun! ×

Temel Matematik

  • makale
    19
  • yorum
    0
  • görüntüleme
    142.229

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


Doğuhan ELMA

325 görünüm

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 Yorum


Önerilen Yorumlar

Görüntülenecek yorum yok.

Misafir
Yorum ekle...

×   Zengin metin olarak yapıştırıldı.   Bunun yerine düz metin olarak yapıştır

  Yalnızca 75 emojiye izin verilir.

×   Bağlantınız otomatik olarak gömüldü.   Bunun yerine bağlantı olarak görüntüle

×   Önceki içeriğiniz geri yüklendi.   Düzenleyiciyi temizle

×   Görüntüleri doğrudan yapıştıramazsınız. URL'den resim yükleyin veya ekleyin.

×
×
  • Create New...