Willkommen auf www.sudokurechner.de.vu

Linkweg: Home / Knobeleien / Produkt: 1.000.000.000 / Lösung

Produkt: 1.000.000.000

Lösung

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 C++ geschriebene Programm gibt alle ganzzahligen Teiler von 1.000.000.000 aus:

C++-Code
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
#include <iostream>
#include <iomanip>
using namespace std;
 
double runden(double zahl) {
  int tmp;
  tmp = static_cast<int>(zahl);
  zahl = static_cast<double>(tmp);
  return zahl;
}
 
int main() {
  cout << "(x;y)" << endl;
  double y;
  for (double x=1;x<=1000000000;x++) {
    y = 1000000000/x;
    if (y == runden(y)) //wenn 1000000000 ohne Rest durch x teilbar
      cout << setprecision(10) << "(" << x << ";" << y << ")" << endl;
  }
  return 0;
}

Ergebnis ist folgendes:

(x;y) (1;1000000000) (2;500000000) (4;250000000) (5;200000000) (8;125000000) (10;100000000) (16;62500000) (20;50000000) (25;40000000) (32;31250000) (40;25000000) (50;20000000) (64;15625000) (80;12500000) (100;10000000) (125;8000000) (128;7812500) (160;6250000) (200;5000000) (250;4000000) (256;3906250) (320;3125000) (400;2500000) (500;2000000) (512;1953125) (625;1600000) (640;1562500) (800;1250000) (1000;1000000) (1250;800000) (1280;781250) (1600;625000) (2000;500000) (2500;400000) (2560;390625) (3125;320000) (3200;312500) (4000;250000) (5000;200000) (6250;160000) (6400;156250) (8000;125000) (10000;100000) (12500;80000) (12800;78125) (15625;64000) (16000;62500) (20000;50000) (25000;40000) (31250;32000) (32000;31250) (40000;25000) (50000;20000) (62500;16000) (64000;15625) (78125;12800) (80000;12500) (100000;10000) (125000;8000) (156250;6400) (160000;6250) (200000;5000) (250000;4000) (312500;3200) (320000;3125) (390625;2560) (400000;2500) (500000;2000) (625000;1600) (781250;1280) (800000;1250) (1000000;1000) (1250000;800) (1562500;640) (1600000;625) (1953125;512) (2000000;500) (2500000;400) (3125000;320) (3906250;256) (4000000;250) (5000000;200) (6250000;160) (7812500;128) (8000000;125) (10000000;100) (12500000;80) (15625000;64) (20000000;50) (25000000;40) (31250000;32) (40000000;25) (50000000;20) (62500000;16) (100000000;10) (125000000;8) (200000000;5) (250000000;4) (500000000;2) (1000000000;1)

Da in der Aufgabenstellung x und y beliebig vertauscht werden können (Kommutativgesetz) kommen alle Zahlenpaare doppelt vor. Genau zwei der ausgegebenen Zahlenpaare erfüllen auch die vierte Bedingung: (512;1953125) und (1953125;512). Das sind die beiden möglichen Lösungen zu dieser Aufgabenstellung.