3 - largest prime factor

The prime factors of 13195 are 5, 7, 13 and 29.

What is the largest prime factor of the number 600851475143 ?

link

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;
}
//---------------------------------------------------------------------------