This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
I'm a newbie programmer and I've been solving Project Euler problems.
The prime factors of 13195 are 5, 7, 13 and 29.
What is the largest prime factor of the number 600851475143 ?
My problem is that if I put the following it does not give any result. In the previous code, it printed out all the prime factors and I put the last one as the answer as the maximum prime factor. I want to make a code that only gave the maximum, but if I used the following, there's no output at all. Where did I go wrong and what should I do?
You want to start from 2 looking for divisors, so if you find it, 2 is the smallest non-trivial divisor. You keep dividing by 2 until it no longer divides exactly. Then you know 4 6 8 10 or any other even number cannot be a divisor. The next possible divisors are 3 and 5, which (like 2) are prime numbers. Again, if you find it divides by 3, and you keep dividing by 3 until it divides no longer, you want to look for the next prime numbers (5 7 and 11) because 6 (and 9) will not divide into it.
Joined: Oct 13, 2005
Where did you get 600851475143 from?
Never never use == true or == false. They are poor style and error-prone.