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.











