(Problem 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 ?

#include<stdio.h>
#include<string.h>
#include<math.h>
#include<ctype.h>
#include<stdlib.h>
#include<stdbool.h>

#define N 600851475143

bool prim(int n)
{
    int i;
    for(i=2; i*i<=n; i++)
    {
        if(n%i==0)
            return false;
    }
    return true;
}

int main()
{
    long long s=sqrt(N);
    while(s--)
    {
        if(s%2!=0 && prim(s) && (N%s==0))
        {
            
            printf("%lld\n",s);
            break;
        }
    }
    return 0;
}

 

Answer:
6857
posted @ 2014-02-11 14:30  acutus  阅读(138)  评论(0编辑  收藏  举报
TOP