Guten Abend! !! Aloha Mann, Yasunori: kissing_smiling_eyes:
Ich werde auch eine Erinnerung schreiben, dass ich eine Weile gebraucht habe, um zu verstehen, während ich diese Woche studierte: grinsen:
Wie der Titel schon sagt, lautet dieses Thema ** "Was soll ich tun, wenn ich die Nummer der gewünschten Ziffer aus einer Anzahl von zwei oder mehr Ziffern erhalten möchte? ?? : sob: ”** Lass es uns lösen! !!
Übrigens sind alle Berechnungen Ganzzahlen, daher werde ich diesmal darauf verzichten, aber es gibt einige Änderungen, z. B. die Verwendung der to_i-Methode, wenn ein Dezimalpunkt vorhanden ist: wink:
Dann werde ich zunächst viel darüber schreiben, wie man den numerischen Wert von ** bis zur Hunderterstelle ** nimmt!
num = 123
#Wenn Sie 100 Stellen wollen
digit_100 = (num / 100) % 10
#Wenn Sie 10 Ziffern möchten
digit_10 = (num / 10) % 10
#Wenn Sie eine Ziffer von 1 wollen
digit_1 = (num / 1) % 10
puts "Die Anzahl der 100 Stellen ist#{digit_100}ist"
puts "Die 10-stellige Nummer ist#{digit_10}ist"
puts "Die einstellige Nummer ist#{digit_1}ist"
Jetzt, wo Sie den Code geschrieben haben! !! Wenn Sie dies tun, erhalten Sie die gewünschte Ziffer ...: Schweiß:
Die Anzahl der Ziffern von 100 ist 1.
Die 10-stellige Nummer ist 2
Die Nummer 1 ist 3
Es wurde richtig ausgegeben! !! : grinsen:
Lass uns genauer hinschauen.
Lassen Sie uns den Fall von 10 Ziffern sehen
digit_10 = (num / 10) % 10
Es ist geworden. Berechnen Sie zuerst die erste Hälfte der Formel und Sie erhalten ** 12 **. Von hier aus wurde der Teil, der ursprünglich ** 10 Stellen ** hatte, jetzt auf ** 1 Stellen ** verschoben. Danach brauche ich keine Zahl mit mehr als 10 Ziffern, also möchte ich berechnen und habe nur 1 Ziffer ...: Denken:
Ja wirklich! !! ** Soll ich durch 10 teilen und die 1 Ziffer als Rest zurückgeben! !! ** Deshalb kommt die zweite Hälfte von "%" ins Spiel: grinsen:
Denn der Rest der Division von 12 durch 10 ist das Ausgabeergebnis
2
Wird als Ergebnis zurückgegeben! !!
In der ersten Hälfte von ** 10 ** waren es diesmal 10 Ziffern, also teilen Sie es durch 10, aber ** 10.000 Ziffern sind 10.000 **, ** 1 Million ist 1 Million ** Wenn Sie durch eine Ziffer teilen, wird die Nummer der gewünschten Ziffer auf die 1-Ziffer zurückgesetzt! !!
Wenn Sie sich diese Erklärung ansehen, "Hmm? Ist es nicht überraschend einfach? Warum hat das Verständnis so lange gedauert? Einige Leute denken vielleicht ": Denken:".
Tatsächlich war das Problem, das aufgeworfen wurde, als ich darüber nachdachte, wie ich diesmal die Anzahl der Ziffern ermitteln kann, ** "Holen Sie sich jede Zahl von der zweistelligen Zahl" **! !!
Wie ich zum Zeitpunkt der Erklärung zuvor erklärt habe, wenn Sie eine Ziffer von 1 möchten, ** "Sie müssen nur den Rest nach Division durch 10 als Rückgabewert verwenden" **. Und die 10 Ziffern wurden zu ** "Sie können die Anzahl der Ziffern erhalten, indem Sie sie durch 10 teilen" **.
Wie wär es damit
digit_10 = num / 10
digit_1 = num % 10
Am Ende hatte ich den Code: Freude: Selbst wenn dies nur zwei Ziffern sind, ist die Antwort dieselbe. "Das ... warum ist das nicht gut? "Es ist geworden ...
Mit diesem Code können Sie, wenn die Anzahl der Ziffern zunimmt, damit umgehen, indem Sie nur die Nummer der 1. und der 1. Ziffer abrufen, aber Sie können nicht die mittlere Ziffer erhalten! !!
Es war leicht zu verstehen, als ich es bemerkte, aber es dauerte eine Weile, bis ich es bemerkte: heat_smile:
Selbst wenn es so einfach aussieht, kann ich es überhaupt nicht verstehen, wenn ich süchtig danach bin. Das Gefühl der Leistung, wenn Sie ** verstehen, ist jedoch unersetzlich. Ich hatte das Gefühl, schon im Gehirnsaft Dopadopa zu sein: lachend:
Recommended Posts