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.
- Fonksiyonda ilk kod olan lcm_result = numbers[0] ile lcm_result degişkenine numbers listesinin ilk elmanı olan 6 sayısı atanıyor.
- 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.
- lcm_result degişkenine listenin ilk ve 2 elemanının (döngünün birinci itererasyonunda) ekok hesablanıp ataması yapılır.
- 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.
- 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ı:
0 Comments
Recommended Comments
There are no comments to display.