Problem specification: ProjectEuler.net Problem 12
"What is the value of the first triangle number to have over five hundred divisors?"
Bashed out a quick solution...
Execution time: ~550ms (laptop)
CODE
/**
* Java solution for Project Euler problem 12
* @author Mike
*/
public class Problem_12 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
long start = System.currentTimeMillis();
int num = 1;
int sum = 0;
while(true){
sum += num;
if(divisors(sum) >= 500){
System.out.println("It is " + sum);
break;
}
num++;
}
long stop = System.currentTimeMillis();
System.out.println("Time: " + (stop-start) + "ms");
}
public static int divisors(int sum){
int divisors = 2;
double root = Math.sqrt(sum);
for(int i = 2; i <= root ; i++){
if(sum % i == 0){
divisors += 2;
}
}
return divisors;
}
}
Any suggestions and comments are welcome, please send me an email (see contacts).