ProjectEuler_P3

Question:

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

What is the largest prime factor of the number 600851475143 ?

 

C Code:

void main()
{
  int prim[200000];
  int no = 3;
  int i = 7;
  int j;
  int mid = (int)sqrt(600851475143);
  prim[1] = 2;
  prim[2] = 3;
  prim[3] = 5;
  while(prim[no] <= mid)
  {
    for(;;i++)
    {
      int flag = 1;
      j = 1;

      for(j = 1;j <= no;j++)
      {
        if(0 == i%prim[j])
        {
          flag = 0;
          break;
        }
      }
      if(flag)
      {
        no++;
        prim[no] = i;
        i++;
        break;
      }
    }
  }
  for(i = no;i > 0;i--)
  {
    if(0 == 600851475143%prim[i])
    {
      printf("%d\n",prim[i]);
    }
  }
}

 

Answer:

6857

posted on 2014-04-23 17:18  楠哥1991  阅读(112)  评论(0编辑  收藏  举报

导航