StartseiteKnobeleienProdukt: 1.000.000.000Lösung

Lösung: Produkt: 1.000.000.000

Rätsel einblenden

Lösung

Ausblenden

Wir bestimmen zuerst die Primfaktorzerlegung der Milliarde:

1000000000=10^9=(2{\cdot}5)^9=2^9{\cdot}5^9

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:

  1. public class DividerFinder {

  2.   public static void main(String[] args) {
  3.   new DividerFinder(1000000000).printDividers();
  4.   }

  5.   private final int number;

  6.   public DividerFinder(int number) {
  7.   super();
  8.   this.number = number;
  9.   }

  10.   /**
  11.   * Prints all dividers of the number without a 0 digit
  12.   */
  13.   public void printDividers() {
  14.   for (int i = 1; i <= Math.sqrt(this.number); i++) {
  15.   if (isDivider(i)) {
  16.   int j = this.number / i;
  17.   if (!containsZero(i) && !containsZero(j)) {
  18.   System.out.println(i + "; " + j);
  19.   }
  20.   }
  21.   }
  22.   }

  23.   /**
  24.   * @return True if the divider is a divider of the number
  25.   */
  26.   private boolean isDivider(int divider) {
  27.   return this.number % divider == 0;
  28.   }

  29.   /**
  30.   * @return True if at least one digit of the value is 0
  31.   */
  32.   private boolean containsZero(int value) {
  33.   return String.valueOf(value).contains("0");
  34.   }

  35. }