Welche dreistelligen Zahlen; bei denen die Summe der Ziffern größer ist als das Produkt der Ziffern; gibt es?
Ich habe schon „111“
Weitere Zahlen durch eure Hilfe:
100, 101, 102, …, 109
200, 201, 202,…, 209
……
—————————
110, 120, 130, …, 190
210, 220, 230,…, 290
……
7 Antworten
Ich habe es mit 4 Stellen probiert. Folgende Fälle:
- überall, wo eine Null vorkommt,
- überall, wo nur eine Ziffer von der 1 abweicht
- folgende Ziffernmengen (Reihenfolge egal): 1122, 1123
Bei 5 Stellen: Die ersten beiden Zeilen bleiben für jede Stelle, logisch. Dann die Ziffernmengen: 11122, 11123, 11124.
Bei 6 Stellen: Hier die Ziffernmenge: 111122, 111123, 111124, 111125, 111132, 111133
Aber eine Regel für n Stellen kann ich leider nicht daraus machen, wäre aber wohl möglich. Für kleine n dürfen nur 2 Ziffern von der 1 abweichen (außer es ist eine 0 dabei), ich vermute, will es hier aber nicht formal beweisen, dass das mit größerem n ansteigt. Beispiel: Ziffer mit 10 Einsen und 3 Zweien, ergibt in Summe 16, als Produkt jedoch nur 8. Entsprechend kann eine Relation gebildet werden, aus der sich eine Gesetzmäßigkeit für n Stellen ergibt, also Produkt - Summe - Anzahl 1 = 0 als Grenze (oder ist das schon der formale Beweis ???). Es werden vermutlich keine weiteren Fallgruppen hinzutreten, da bereits 2³ > 2 + 2 + 2, entscheidend bleiben vermutlich die Einsen (neben den Nullen). Nur die Einsen (neben der Null) drücken das Produkt unter die Summe. Neutral wirkt jedoch 2² = 2 + 2, das wirkt jedoch nur singulär, sobald eine weitere Zahl größer 2 dazu kommt, erhöht die 4 als Faktor mehr als Summand.
Hier der Code für Excel-VBA für 4 Stellen
Sub x()
Dim i As Integer, a As Integer, b As Integer, c As Integer, d As Integer, z As Integer, j As Double, p As Integer
Dim s As Integer
Dim bl As Boolean
Columns.Delete
z = 1
For i = 1111 To 9999
j = i
d = j Mod 10
j = j \ 10
c = j Mod 10
j = j \ 10
b = j Mod 10
j = j \ 10
a = j Mod 10
bl = True
p = a * b * c * d
s = a + b + c + d
If p = 0 Then bl = False
If a = 1 And b = 1 And c = 1 Then bl = False
If a = 1 And b = 1 And d = 1 Then bl = False
If a = 1 And c = 1 And d = 1 Then bl = False
If b = 1 And c = 1 And d = 1 Then bl = False
If p < s And bl Then
Cells(z, 1).Value = i
z = z + 1
End If
Next
End Sub
Wenn ich mir die Antworten von Waldmensch und Sophonisbe ansehe sind das immer noch viele zahlen.
Angefangen von 100, 101, 110,.....112, 121, 211,... bis hoch zur 911.
Um keine zu verpassen würde ich das versuchen über excel zu lösen, wobei mir keine formel einfällt um die ziffern zu separieren,
sollte aber auch mit 3 zellen pro zahl gut funktionieren.
ersten drei spalten die ziffern, dann eine spalte für die quersumme, dann eine fürs produkt.
eine vierte dann um zu prüfen wo summe höher als produkt ist und dann halt die 1000 zeilen kurz durchblättern.
mathematisch kann man es so machen
letztes Zeichen: Zahl mod 10
vorletztes Zeichen (Zahl/10) mod 10
erstes Zeichen (Zahl/100) mod 10
mit abrunden jeweils
Ich versteh im ersten teil noch wie du anfängst, aber dann hängst du mich ab. :-)
VBA ist nicht meines, (python auch nicht).
Aber danke für deine bemühung.
Das Modulo 10 nimmt immer die hinterste Zahl, also Modulo von 567 ist 7.
Wenn ich 567 durch 10 teile und den Rest abschneide, habe ich 56. Dann wieder Modulo 10 ergibt die 6. Ich teile 567 durch 100 und runde runter, habe dann 5, Module 10 ist wieder 5. Modulo 10 gibt immer die hinterste Zahl.
Jede, in der eine 0 vorkommt.
Oder in der zwei mal die 1 vorkommt.
Und die Zahlen von 100 bis 110, weil Multiplikation mit 0 eine sehr kleine Zahl ergibt.
Eigentlich dann noch jede 3 Stellige Zahl, die die Ziffer 0 enthält.
Und die Zahlen von 100 bis 110, weil Multiplikation mit 0 eine sehr kleine Zahl ergibt.
Genau genommen ergibt sie Null… 😉
Diese hier:
100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 130 131 140 141 150 151 160 161 170 171 180 181 190 191 200 201 202 203 204 205 206 207 208 209 210 211 212 220 221 230 240 250 260 270 280 290 300 301 302 303 304 305 306 307 308 309 310 311 320 330 340 350 360 370 380 390 400 401 402 403 404 405 406 407 408 409 410 411 420 430 440 450 460 470 480 490 500 501 502 503 504 505 506 507 508 509 510 511 520 530 540 550 560 570 580 590 600 601 602 603 604 605 606 607 608 609 610 611 620 630 640 650 660 670 680 690 700 701 702 703 704 705 706 707 708 709 710 711 720 730 740 750 760 770 780 790 800 801 802 803 804 805 806 807 808 809 810 811 820 830 840 850 860 870 880 890 900 901 902 903 904 905 906 907 908 909 910 911 920 930 940 950 960 970 980 990
Sieht gut aus, vielleicht sogar vollständig.
Magst uns sagen wie du darauf gekommen bist?
Ich habe es in Python programmiert. Das Resultat ist vollständig.
per Computerprogramm?
Was man sieht: Alle mit mindestens einer 0, weiterhin diejenigen mit x11. Lediglich bei 1xx und 2xx haben wir noch mehrere, bei 2xx noch 211, 212 und Permutation 221, bei 1xx natürlich alle mit zwei einsen, da die 1 im Produkt nichts erhöht.
Also zusammengefasst:
- Alle mit der 0
- Alle mit zwei 1
- alle Permutationen von 1,2,2
Letzteres da 2*2*1 < 2 + 2 + 1
das kann man (abstrakt) mathematisch beweisen, man braucht im Prinzip nur die letzte Zeile beweisen, dann kann man das für n Stellen erweitern
Also alle Zahlen mit mindestens einer 0 oder/und mit mindestens zwei 1er?
Die Formel ist =TEIL(Text; Erstes_Zeichen; Anzahl_Zeichen), in VBA ist es MID mit denselben Parametern.