Aufgabe:
Die Folge der Dreieckszahlen wird gebildet, indem die natürlichen Zahlen addiert werden. Somit ist die 7. Dreieckszahl 1 + 2 + 3 + 4 + 5 + 6 + 7 = 28. Die ersten zehn Glieder sind:
1, 3, 6, 10, 15, 21, 28, 36, 45, 55, ...
Lassen Sie uns die Teiler der ersten sieben Dreieckszahlen auflisten:
Was ist der Wert der ersten Dreieckszahl, die mehr als fünfhundert Teiler hat?
eigentlich müsste es klappen, programm endet aber nicht
Die Folge der Dreieckszahlen wird gebildet, indem die natürlichen Zahlen addiert werden. Somit ist die 7. Dreieckszahl 1 + 2 + 3 + 4 + 5 + 6 + 7 = 28. Die ersten zehn Glieder sind:
1, 3, 6, 10, 15, 21, 28, 36, 45, 55, ...
Lassen Sie uns die Teiler der ersten sieben Dreieckszahlen auflisten:
Wir können sehen, dass 28 die erste Dreieckszahl mit mehr als fünf Teilern ist.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
Was ist der Wert der ersten Dreieckszahl, die mehr als fünfhundert Teiler hat?
Java:
package ProjectEuler12;
public class Main {
public static void main(String... args) {
System.out.println(findNumber(500));
}
public static int findNumber(int dividends) {
boolean b = true;
var temp = 0;
for (var i = 1; b; i++) {
temp += i;
if (getDividends(temp) == dividends) {
b = false;
break;
}
}
return temp;
}
public static int getDividends(int number) {
var counter = 0;
for (var i = 1; i < number; i++) {
if (number % i == 0) counter++;
}
return counter;
}
}