Forum: Wissenschaft
Rätsel der Woche: Nur Nullen und Einsen erlaubt
SPIEGEL ONLINE

Eine natürliche Zahl ist durch 2017 teilbar - und sie enthält nur die Ziffern 0 und 1. Ist das möglich?

Seite 1 von 8
Ben Major 18.06.2017, 11:32
1. Optional

Wie wäre es mit 0000011111100001, das ist die Lösung, die das Titelbild suggeriert.

Beitrag melden Antworten / Zitieren
Schnabeltier 18.06.2017, 11:47
2.

So macht das Spaß, sehr elegant! Danke dafür!

Beitrag melden Antworten / Zitieren
KurtHohl 18.06.2017, 12:24
3. Excel und Gleitkommazahlen

Der vorgestellte Lösungsweg ist logisch und akzeptiert - die mit Excel durchprobierte Lösung eher nicht. Hintergrund ist die Speicherung von Zahlen durch Excel als Fließkomma-/Gleitkommazahlen. Wenn ich eine Zahl, die aus 16 Einsen besteht in Excel (2003) eingebe, speichert er eine Zahl, die aus 15 Einsen besteht und dann folgt eine 0. Kann man gern mal ausprobieren. Hintergrund ist, dass Zahlen nur einen bestimmten Speicherplatz haben können und wenn sie als Fließkommazahlen gespeichert werden, eine bestimmte Mantissenlänge nicht überschreiten können. Bei Excel 2003 beträgt die Mantissenlänge 16 Zeichen (inkl eines Zeichens für das Vorzeichen), womir nur 15 Ziffern wirklich gespeichert werden, der Rest wir abgeschnitten. Es kann sein, dass das moderne Excel eine größere Mantissenlänge zulässt - das Zahlen mit 2018 Stellen exakt gespeichert werden, wahe ich zu bezweifeln. Insofern ist Excel ein ungeeignetes Wertkzeug, um den beschriebenen Algorithmus auszuführen.
Am Ende übrigens noch eine ganz einfache Lösung: 0 - besteht nur aus Nullen und Eisen (nämlich einer 0 und keiner 1) und ist ohne Rest durch 0 teilbar.

Beitrag melden Antworten / Zitieren
markus_keller 18.06.2017, 12:29
4. Andere Lösung

Mit etwas probieren bin ich beim Multiplikationsverfahren, wie man es aus der Schule kennt, in dem ich von hinten nach vorne immer Ziffern gesucht habe, die zu einer 1 oder 0 führen, zu folgender Lösung gekommen:
11001110010001 : 2017 = 5454194353

Beitrag melden Antworten / Zitieren
KurtHohl 18.06.2017, 12:37
5.

Korrektur zu Nr. 3: 0 ist natürlich nicht durch 0, sondern durch 2017 teilbar.

Beitrag melden Antworten / Zitieren
RolandReichardt 18.06.2017, 12:40
6. 10011011101001 ist die kleinste Lösung

Wenn durchprobieren als "mathematischer" Beweis schon erlaubt ist, kann man mit jeder beliebigen Programmiersprache, welche vernünftig mit ganzzahligen Variablen umgeht, eine Lösung finden.

Danach ist die kleinste Zahl mit Nullen und Einsen als Ziffern 10011011101001.

Lösung 10011011101001 / 2017 = 4963317353

Das kann jeder prima mit dem Windows 10 Rechner ausprobieren.

Beitrag melden Antworten / Zitieren
dascopy 18.06.2017, 12:45
7. Herr Keller ihm sein Weg...

...war auch mein Ansatz, ich habe bei 53 aber schon aufgehört und Seite 2 geöffnet. Der Einsatz von Excel hat mich dann ziemlich enttäuscht. Schöner wäre es darauf einzugehen, dass das Ergebnis unbedingt auf 3 enden muss und wegen der 20 am Beginn eine 5 im Ergebnis sein sollte. Excel sollte gesunde Logik unterstützen, nicht aber ausschalten.

Beitrag melden Antworten / Zitieren
7eggert 18.06.2017, 12:52
8.

Die Musterlösung gefällt mir, ist aber nicht die einzige Lösung. Aus (je)der gefundenen Zahl kann durch Multiplikation mit 10 eine Zahl gefunden werden, die wieder nur Nullen und Einsen enthält und weiterhin durch 2017 teilbar ist.

Beitrag melden Antworten / Zitieren
ldom 18.06.2017, 13:02
9. Gemäß dem alten Witz: Der Physiker macht eine Meßreihe....

der Mathematiker findet einen Beweis und ein Informatiker schreibt ein Programm:
-------------
def spon(n):
if len(n) > 15:
exit
else:
if (int(n) % 2017 == 0):
print("Result: " + n + " ( " + str(int(int(n)/2017)) + " )" )
exit
else:
n1 = n + "1"
spon(n1)
n2 = n + "0"
spon(n2)

print(spon("1"))

Hier die Ergebnisse aller Zahlen mit maximaler Länge 15:

python spon.py
Result: 111111100000011 ( 55087307883 )
Result: 11001110010001 ( 5454194353 )
Result: 110010110001101 ( 54541452653 )
Result: 10110010100101 ( 5012399653 )
Result: 10101101011101 ( 5007982653 )
Result: 100111101000001 ( 49633664353 )
Result: 10011011101001 ( 4963317353 )

Beitrag melden Antworten / Zitieren
Seite 1 von 8