int main()
{
int sayi, i,j;
int sayac=0;
printf("Asal bolenlerini gormek istediginiz sayiyi giriniz: ");
scanf("%d",&sayi);
printf("Asal carpanlar: ");
for (i = 2; sayi>1 ;i++)
{
for (j = 2; j<=i; j++)
{
if(i%j == 0)
{
sayac++;
break;
}
}
if(sayac == 1)
{
sayac = 0;
if(sayi%i == 0)
{
sayi = sayi / i;
printf("%d ",i);
i = 2;
}
}
}
printf("\n");
return 0;
}
Bu algoritmada yanlış olan bir şeyler var ama çözemedim. Bazı sayılarda doğru sonucu veriyor asal bölenleri buluyor ama 120, 600 gibi sayıları yazınca asal bölenlerine ek olarak birde 4 sayısını gösteriyor. Neden?