The prime factors of 13195 are 5, 7, 13 and 29.
What is the largest prime factor of the number 600851475143 ?
cevap : 6857
#include <stdio.h>
#pragma hdrstop
#include <tchar.h>
#pragma argsused
int _tmain(int argc, _TCHAR* argv[])
{
int i,j,k = 0;
unsigned int *divider;
unsigned int counter = 0;
unsigned long long test_number = 600851475143; // asal bolenleri test edilecek olan sayi
// bolenlerin sayisi
for(i = 2; i<=test_number; i++)
{
if(test_number%i == 0)
{
counter++;
}
}
divider = (unsigned int *) calloc(counter, sizeof(unsigned int));
// divider dizisini temizle
for(i=0; i<=counter; i++)
{
divider[i] = 0;
}
// bolen rakamlar sira ile tutuluyor
for(i = 2; i<=test_number; i++)
{
if(test_number%i == 0)
{
divider[k] = i;
k++;
}
}
// bolenleri ekrana bas
printf("tum bolenler:\n");
for(i=0; i<=counter; i++)
{
if(divider[i] != 0)
{
printf("%d\n",divider[i]);
}
}
// bolenleri kendinden sonra gelen bolenlere bolunuyor mu diye kontrol et
for (i = k; i > -1; i--)
{
for (j = (i-1); j > -1; j--)
{
if (divider[i]%divider[j] == 0)
{
divider[i] = 0;
}
}
}
printf("\n\n");
// asal bolenleri ekrana bas
printf("asal bolenler:\n");
for(i=0; i<=counter; i++)
{
if(divider[i] != 0)
{
printf("%d\n",divider[i]);
}
}
while(1);
return 0;
}
//---------------------------------------------------------------------------