Project Euler Question 3 Help

后端 未结 16 1392
攒了一身酷
攒了一身酷 2020-12-08 08:25

I\'m trying to work through Project Euler and I\'m hitting a barrier on problem 03. I have an algorithm that works for smaller numbers, but problem 3 uses a very, very large

16条回答
  •  刺人心
    刺人心 (楼主)
    2020-12-08 08:52

    long n = 600851475143L; //not even, so 2 wont be a factor
    int factor = 3; 
    while( n > 1)
    {
        if(n % factor == 0)
        {
            n/=factor;
        }else
            factor += 2; //skip even numbrs
    }
            print factor;
    

    This should be quick enough...Notice, there's no need to check for prime...

提交回复
热议问题