Create a test case for Euler problem 3 The prime factors of
Create a test case for Euler problem 3:
The prime factors of 13195 are 5, 7, 13 and 29.
What is the largest prime factor of the number 600851475143 ?
Solution
#include <stdio.h>
 #include <math.h>
// function to print all prime factors for a given number.
 int primFact(long int n,int* arr)
 {
    long int i;
    int j=0;
     // Print the number of 2s that divide n
     while (n%2 == 0)
     {
         arr[j++] = 2;
         n = n/2;
     }
     // n must be odd at this point. So we can skip one element (Note i = i +2)
     for (i = 3; i <= sqrt(n); i = i+2)
     {
         // While i divides n, print i and divide n
         while (n%i == 0)
         {
             arr[j++] = i;
             n = n/i;
         }
     }
    /*
     handle prime numbers;
     */
     if (n > 2){
         arr[j++] = n;
     }
     return j;
 }
/* main function to test the prime factors functions.*/
 int main()
 {
     long int n = 600851475143;
     int arr[100];
     int len = primFact(n,&arr[0]);
     int i;
     int max = arr[0];
     for(i=1;i<len;i++){
         if(max<arr[i])
             max = arr[i];
     }
     printf(\"%d\ \",max);
     return 0;
 }
/* sample output
6857
*/


