Asal çarpanlar, bir sayıyı bölen ve kendisi de asal olan sayılardır. İşte asal çarpanları bulmak için izlenebilecek basit bir algoritma:
İlk olarak, asal çarpanlarını bulmak istediğiniz sayıyı belirleyin. Bu sayıyı "n" olarak adlandıralım.
2'den başlayarak sırasıyla artan tamsayıları kullanarak, n'yi bölmeye çalışın. Eğer n, bu tamsayıya tam olarak bölünüyorsa, bu tamsayı bir asal çarpan olacaktır.
Bulduğunuz asal çarpanı kaydedin ve n'i bu çarpana bölerek yeni bir değer elde edin. Örneğin, n = 84 olsun ve 2, 84'ü tam olarak bölebildiğimiz bir asal çarpan olsun. Bu durumda, 2'yi kaydedin ve n'i 84/2 = 42 olarak güncelleyin.
N'yi, bulduğunuz asal çarpana kadar bölmeye devam edin. Her bir asal çarpanı bulduktan sonra, n'i asal çarpana bölerek güncelleyin ve adımlara devam edin.
Eğer n, 1'e eşit olduğunda durun. Bu durumda, tüm asal çarpanları bulmuş olursunuz.
Örneğin, 84'ün asal çarpanlarını bulmak için bu adımları izleyebilirsiniz:
n = 84
Adım 1: 2'den başlayın.
Adım 2: 84'i 2'ye bölelim. 84/2 = 42. 2, bir asal çarpan olduğu için 2'yi kaydedelim.
Adım 3: n'i 42 olarak güncelleyelim.
Adım 4: 42'yi 2'ye bölelim. 42/2 = 21. 2, bir asal çarpan değildir.
Adım 5: Bir sonraki asal sayı olan 3'ü deneyelim. 21'i 3'e bölelim. 21/3 = 7. 3, bir asal çarpan olduğu için 3'ü kaydedelim.
Adım 6: n'i 7 olarak güncelleyelim.
Adım 7: 7'nin kendisi asal bir sayı olduğu için 7'yi de kaydedelim.
Adım 8: n'i 1'e eşit olduğunda durun.
Sonuç olarak, 84'ün asal çarpanları 2, 2, 3 ve 7'dir.
Bu adımları takip ederek, başka herhangi bir sayının asal çarpanlarını bulabilirsiniz.
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
int main()
{
system("color 5a");
int sayi, degerler,i;
printf("Bir sayi degeri giriniz...\n");
scanf("%d",&sayi);
for(i=2;sayi>1;i++)
{
while(sayi%i==0)
{
printf("%d\t",i);
sayi=sayi/i;
}
}
system("pause");
return 0;
}
Asal Çarpanları Bulma
0 Yorumlar
Bizimle fikirlerinizi paylaşabilirsiniz.