Startseite → Knobeleien → Produkt: 1.000.000.000 → Lösung
Lösung: Produkt: 1.000.000.000
Lösung
Ausblenden
Wir bestimmen zuerst die Primfaktorzerlegung der Milliarde:
Enthält eine der gesuchten Zahlen sowohl den Primfaktor 2 als auch den Primfaktor 5, so wird die Zahl mit der Ziffer Null enden, da 2 · 5 = 10. Also darf die Primfaktorzerlegung der gesuchten Zahlen nur entweder die 2er oder die 5er enthalten. Damit sind die gesuchten Zahlen 29 = 512 und 59 = 1.953.125.
Lösung mit Hilfe eines Computerprogramms
Alle möglichen Teiler von 1.000.000.000 auszurechnen wäre eine riesige Arbeit. Aber warum nicht einen Computer diese Arbeit verrichten lassen? Das folgende in der Programmiersprache Java geschriebene Programm gibt alle ganzzahligen Teiler von 1.000.000.000 aus, die keine 0 enthalten:
- public class DividerFinder {
- public static void main(String[] args) {
- new DividerFinder(1000000000).printDividers();
- }
- private final int number;
- public DividerFinder(int number) {
- super();
- this.number = number;
- }
- /**
- * Prints all dividers of the number without a 0 digit
- */
- public void printDividers() {
- for (int i = 1; i <= Math.sqrt(this.number); i++) {
- if (isDivider(i)) {
- int j = this.number / i;
- if (!containsZero(i) && !containsZero(j)) {
- System.out.println(i + "; " + j);
- }
- }
- }
- }
- /**
- * @return True if the divider is a divider of the number
- */
- private boolean isDivider(int divider) {
- return this.number % divider == 0;
- }
- /**
- * @return True if at least one digit of the value is 0
- */
- private boolean containsZero(int value) {
- return String.valueOf(value).contains("0");
- }
- }