package margusmartseppcode.From_10_to_19;
public class Problem_12 {
/** Get number of prime exponents */
static int getNoPE(int sum) {
int dx = 1, exp = 1;
for (int p : new int[] { 2, 3, 5, 7, 11, 13, 17, 19, 23, 29 }) {
if (sum == 1)
break;
if (sum < p * p)
return dx * 2;
for (exp = 1; sum % p == 0; exp += 1)
sum = sum / p;
dx *= exp;
}
return dx;
}
public static void main(String[] args) {
int size = 500, sum = 1;
for (int i = 1; i < Integer.MAX_VALUE; i++, sum += i)
if (getNoPE(sum) > size)
break;
System.out.println(sum);
}
}
Tuesday, September 8, 2009
Euler Problem 12 solution
Time (s): ~0.002
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment