C Asal Çarpanlar

Posted by KODLAR KOŞESİ on Kasım 09, 2017 with No comments



Tam sayı deyince 1, 2, 3, 4, 5, … gibi “sayma” sayılarını düşünürüz. Her tam sayı kendisine ve 1’e kalansız olarak bölünür. Pek çok tam sayı başka tam sayılara da kalansız bölünebilirken bazı sayılar kendisinden ve 1’den başka sayıları bölen olarak kabul etmez. İşte o inatçı sayılara asal sayı deriz.

İlk on beş asal sayı şunlardır: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47.

Burada ilk dikkat çeken ayrıntı 1’in bu listede olmayışıdır. Oysa o da kendinden ve 1’den başka tam sayıya kalansız olarak bölünmüyor. Bu listeye alınmaması matematikçilerin kendi aralarında aldığı bir kararın sonucudur. Şimdilik bu karara saygı duyalım. Az sonra bunun ne kadar yerinde bir karar olduğunu göreceğiz.



Asal Çarpanlar
Asal olmayan tam sayılara bileşik sayı deriz. Her bileşik sayıyı asal sayıların çarpımı şeklinde yazabiliriz ve bu yazılış biçimi tektir.
Örneğin: 93=3×31 şeklinde yazılır ve 3’le 31’in yer değiştirmesi dışında 93’ün asalların çarpımı şeklinde başka bir yazılımı yoktur.
Eğer 1’i de asal kabul etseydik, o zaman 93=3×31=1x3x31= 12x3x31= 13x3x31= …ˑˑˑ yazabilecektik. Bu da 93’ün birbirinden anlamca farklı olmayan ama şeklen farklı sonsuz şekilde asal çarpanlara ayrıldığını gösterecekti. Çarpanlar arasına 1’i sokmakla yeni bir bilgi elde etmediğimiz için matematikçiler oy birliğiyle 1’i asal olmaktan azletmiştir. Her tam sayı ya kendisi asaldır ya da asalların çarpımı şeklinde yazılabilir. Öyleyse tüm asalları bilirsek tüm sayıları bilmiş olacağız!
KODLAR ;

#include <stdio.h>
#include <stdlib.h>

void carban(int n){

int i=2;                     // i diye bir değişken tanımlıyoruz ve ilk değer olarak 2 veriyoruz .
while(1)                    //sonsuz döngü tanımlıyoruz
{
    if(n%i==0)           //burada girilen sayıyı 2 ye bölüyoruz eğer sayı 2`ye bölünüyorsa
    {
        printf("%d ",i);   // çarpanları ekrana yazdırıyoruz
        n=n/i;                 // girilen sayıyı i`ye bölüyoruz
    }
    else{                     // eğer girilen sayı i=2 ye bölünmez ise i`yi 1 artırıyoruz ve i=3 olur .
        i++;
    }
    if(n==1)               // dirilen değer 1 eşit olursa programdan çık .
    {
        break;             // döngüden çık .
    }
}
}
int main()
{
   carban(65);          // fonksiyonu main içinde çağırıyoruz.
    return 0;
}






Categories: