The sequence of triangle numbers is generated by adding the natural numbers. So the 7th triangle number would be 1 + 2 + 3 + 4 + 5 + 6 + 7 = 28. The first ten terms would be:
1, 3, 6, 10, 15, 21, 28, 36, 45, 55, …
Let us list the factors of the first seven triangle numbers:
1: 1
3: 1,3
6: 1,2,3,6
10: 1,2,5,10
15: 1,3,5,15
21: 1,3,7,21
28: 1,2,4,7,14,28
We can see that 28 is the first triangle number to have over five divisors.
What is the value of the first triangle number to have over five hundred divisors?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| public class Problem12 {
static long result = 0;
public static void solve() {
long currentnumber = 0;
long factors = 0;
long sqrt = 0;
for (long i = 0; i < Long.MAX_VALUE; i++) {
currentnumber +=i;
sqrt = (long)(Math.sqrt(currentnumber));
for (int j = 1; j < sqrt; j++) {
if (currentnumber % j == 0) {
factors+=2;
}
}
if (sqrt*sqrt == currentnumber) {
factors--;
}
System.out.println(currentnumber + " has " + factors + " factors");
if (factors >500) {
result = currentnumber;
return;
}
factors = 0;
}
}
public static void main(String[] args) {
solve();
System.out.println(result);
}
}
|
Lösung: 76576500