Wie löst man dieses Rätsel?
Ich brauche einen Rechenweg oder den Ansatz zur Lösung.
Alle natürlichen Zahlen von 1 bis 1 000 000 werden hintereinander aufgeschrieben.
z.B. 12345678910111213141516171819...
Welche Ziffer steht an der 300 000 Stelle?
5 Antworten
Gehen wir das schritt für schritt durch:
zahlen 1-9 verbrauchen die ersten 9 stellen. (9)
10-99 sind 90 zahlen ala 2 stellen also hätten wir für dieses intervall 180 stellen (180)
100-999 sind 900 zahlen ala 3 stellen, also 2700 stellen für das intervall (2700)
1000-9999 sind 9000 zahlen ala 4 stellen, also insgesamt 36.000 stellen (36.000)
sind schon mal insgesamt 38.889 stellen für die Zahlen 1-9.999
da der nächste sprung bis 99.999 selber mehr als 300.00 stellen hat, muss also eine zahl zwischen 10.000 und 100.000 an 300.000ster Stelle stehen, wenn man es so sieht
also kleinere schritte: 10.000-49.999 sind 40.000 zahlen ala 5 ziffern, also 200.000 ziffern.
insgesamt dann 238.889 ziffern, wir kommen langsam näher.
50.000-61.999 sind 12.000 zahlen ala 5 Ziffern, also 60.000 ziffern.
dann sind wir bei 298.889 ziffern
62.000-62.199 sind 200 zahlen ala 5 ziffern, also 1000 zusätzliche ziffern.
insgesamt 299.889
62.200-62.219 sind 20 Zahlen ala 5 ziffern, als 100 zusätzliche ziffern.
insgesamt 299.989
also noch 11 weitere ziffern:
62.220 und 62.221 geben 10 ziffern.
dann wäre die 1 aus 62.221 die 299.999. ziffer.
die 300.000. ziffer wäre dann 6 aus 62.222, wenn ich mich nicht verzählt habe.
Keine Ahnung ob das Sinn macht, aber das erste, was mir einfällt, ist, alle Zahlen in Gruppen einzuteilen, je nachdem, aus wie vielen Ziffern sie bestehen, wie zB. 1-9, 10-99, 100-999 usw. dann kannst du von jeder Gruppe die Anzahl der Ziffern insgesamt ausrechnen, beim Beispiel bei 1-9 würde man 1×9 rechnen, da 1=eine Ziffer pro Zahl und 9=Anzahl der Zahlen. Dann würde ich die gesamte Anzahl der Ziffern der Gruppen so zusammen rechnen, dass du beim ersten Wert nur die Ziffernanzahl der ersten Gruppe hast, beim zweiten Wert die Ziffernanzahl von der ersten + zweiten Gruppe, beim dritten Wert von der ersten + zweiten + dritten Gruppe. So kannst du schonmal eingrenzen. Dann guckst du, zwischen welchen beiden Werten, die ja vorher ausgerechnet wurden, der Wert liegt, den du suchst, in dem Fall 300 000. Dann kannst du wieder den Bereich eingrenzen und wenn du nah genug dran bist abzählen. Sollte in der Theorie funktionieren glaube ich. Ich denke ich probier es gleich mal selbst aus, mal gucken ob wir das gleiche Ergebniss rausbekommen! Liebe Grüße
Ich bin mir echt nicht sicher, habe 62223 rausbekommen, also eine Ziffer davon sollte es sein, in der Theorie die drei, da ich bei 62222 rausbekomme, dass es 5 Ziffern zu wenig sind aber da die anderen etwas andere Ergebnisse hatten weiß ich es nicht sicher.
Ich würde vielleicht schauen, welche Ziffer, welcher Zahl das ist
9 mal 1 Ziffer = 9 -> zu klein
Bis 99: 90 mal 2 Ziffern + 9 mal 1 Ziffer = 189 Ziffern -> zu klein
Bis 999: 900 mal 3 Ziffern + mal 2 Ziffern + 9 mal 1 Ziffer = 2.889 Ziffern -> zu klein
Bis 9.999: 9.000 mal 4 Ziffern + 900 mal 3 Ziffern + 90 mal 2 Ziffern + 9 mal 1 Ziffer = 38.889 Ziffern -> zu klein
Bis 99.999
90.000 mal 5 Ziffern + 9.000 mal 4 Ziffern + 900 mal 3 Ziffern + 90 mal 2 Ziffern + 9 mal 1 Ziffer = 488.889 Ziffern -> zu groß um 188.889 Ziffern
-> um 188.889/5 = 47.222,25 Zahlen zu groß
47.223 (da Viertel Zahlenbnicht möglich) zurückgehen: 99.999 - 47.223 = 52.776
Eine Ziffer von 52.776 ist es
Ausrechnen nach obigen System welches es ist.
Mist...
Wieder vertippt🤦🏽♀️
Irgendwie stimmt das obere total nicht ich sch eibs nochmal und kommentiere dann das richtige
Sorry
... 62222│6│2223 ...
Aufsummierung der Stellen 1 - 9, 10 - 99 , ... , 1000 - 9999 ergibt 38889 Stellen. Differenz zu 300000 ist 261111.
261111/5 = 52222 Rest 1
10000 + 52222 = 62222
Die nächste Ziffer ist die gesuchte Ziffer.
nummernListe = ""
for i in range(1, 300000):
nummernListe = nummernListe + str(i)
print(nummernListe[30000])
7
Hab mich verrechnet: so wäre es richtig
-> um 188.889/5 = 37.777, 8Zahlen zu groß
37,778 (da Viertel Zahlenbnicht möglich) zurückgehen: 99.999 - 37.778 =
Eine Ziffer von 62.221 ist es
Ausrechnen nach obigen System welches es ist.