Takip et

JavaScript ile Bir Sayının Tüm Asal Çarpanlarını Bulma

JavaScript ile Bir Sayının Tüm Asal Çarpanlarını Bulma

Bugün, JavaScript kullanarak verilen bir sayının tüm asal çarpanlarını bulmanın çeşitli yollarını keşfedeceğiz. Bu, hem matematiksel olarak ilginç bir problemdir hem de programlama becerilerinizi geliştirmek için harika bir pratik fırsatı sunar. Öncelikle, asal çarpanın ne olduğunu hatırlayalım. Bir sayının asal çarpanı, o sayıyı bölen ve kendisi hariç sadece 1’e bölünebilen bir asal sayıdır. Örneğin, 12 sayısının asal çarpanları 2 ve 3’tür çünkü 12 = 2 x 2 x 3 şeklinde yazılabilir.

Birkaç farklı yöntemle bu işlemi gerçekleştirebiliriz. En basit yöntemlerden biri, sayıyı 2’den başlayarak sırayla asal sayılara bölmeye çalışmaktır. Ancak bu yöntem, büyük sayılar için oldukça yavaş olabilir. Daha verimli bir yaklaşım ise, sayıyı 2’den başlayarak, sayının kareköküne kadar olan sayılara bölmeyi denemektir. Bu yöntem, büyük sayılar için önemli ölçüde daha hızlıdır. Çünkü bir sayının kendisi hariç en büyük çarpanı, kareköküne eşit veya daha küçüktür.

Yöntem 1: Basit Yöntem

İşte bu basit yöntemin JavaScript kod örneği:


function asalCarpanlarBasit(sayi) {
  const çarpanlar = [];
  let i = 2;
  while (i <= sayi) {
    while (sayi % i === 0) {
      çarpanlar.push(i);
      sayi /= i;
    }
    i++;
  }
  return çarpanlar;
}

console.log(asalCarpanlarBasit(12)); // Çıktı: [2, 2, 3]
console.log(asalCarpanlarBasit(35)); // Çıktı: [5, 7]

Bu kod, sayıyı ardışık sayılarla bölerek asal çarpanları bulur. Ancak, daha önce de belirttiğim gibi, büyük sayılar için verimsiz olabilir. Bu nedenle, daha gelişmiş bir yönteme ihtiyaç duyabiliriz.

Yöntem 2: Daha Verimli Yöntem

Daha verimli bir yaklaşım için aşağıdaki kodu inceleyebilirsiniz:


function asalCarpanlarVerimli(sayi) {
  const çarpanlar = [];
  for (let i = 2; i <= Math.sqrt(sayi); i++) {
    while (sayi % i === 0) {
      çarpanlar.push(i);
      sayi /= i;
    }
  }
  if (sayi > 1) {
    çarpanlar.push(sayi);
  }
  return çarpanlar;
}

console.log(asalCarpanlarVerimli(12)); // Çıktı: [2, 2, 3]
console.log(asalCarpanlarVerimli(35)); // Çıktı: [5, 7]
console.log(asalCarpanlarVerimli(999)); // Çıktı: [3, 3, 3, 37]

Bu kod, sayının kareköküne kadar olan sayıları kontrol ederek süreci hızlandırır. Bu optimizasyon, büyük sayılarla çalışırken performansı önemli ölçüde artırır. Ayrıca, döngüden sonra sayı hala 1'den büyükse, bu sayının kendisi de asal bir çarpan olarak eklenir. Bu durum, sayının kendisi asal bir sayı olduğunda gerçekleşir.

Umarım bu makale, JavaScript kullanarak bir sayının tüm asal çarpanlarını bulmada size yardımcı olmuştur. Daha fazla JavaScript örneği ve programlama ipuçları için Fatih Soysal sitesini ziyaret edebilirsiniz. Ayrıca, daha detaylı bilgi için bu kaynağa göz atabilirsiniz.

#Etiketler: JavaScript, asal çarpanlar, asal sayı, algoritma, programlama, kodlama, asal çarpan bulma, javascript örnekleri, verimlilik, optimizasyon


Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Gönder

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.
Exit mobile version