[RUBY] So erhalten Sie eine beliebige Ziffernnummer aus 2 oder mehr Ziffern! !!

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:

Wie erhalten Sie die gewünschte Anzahl von Ziffern?

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ß:

Ergebnis

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.

Kommentar

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! !!

Warum brauchten Sie Zeit, um zu verstehen?

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:

Fazit

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:

Versuchen wir es, ohne aufzugeben, auch wenn alle auf Schwierigkeiten stoßen! !!

Recommended Posts

So erhalten Sie eine beliebige Ziffernnummer aus 2 oder mehr Ziffern! !!
So starten Sie einen Index aus einer beliebigen Zahl in der iterativen Ruby-Verarbeitung
So erhalten Sie einen Heapdump aus einem Docker-Container
[Swift] So ermitteln Sie die Anzahl der Elemente in einem Array (Super Basic)
Eine nicht unterstützte Java-Version So beseitigen Sie Fehler
So ändern Sie eine Zeichenfolge in einem Array in eine Zahl in Ruby
So erhalten Sie die längsten Informationen von Twitter ab dem 12.12.2016
So brennen Sie eine Installationsdiskette von Windows unter Ubuntu
Lassen Sie uns die interne Darstellung einer Gleitkommazahl erhalten
[jsoup] So erhalten Sie die gesamte Dokumentation
[Swift5] So erhalten Sie ein Array und eine Reihe von Unterschieden zwischen Arrays
[chown] So ändern Sie den Eigentümer einer Datei oder eines Verzeichnisses
So ermitteln Sie die Länge einer Audiodatei mit Java
[Swift] Zusammenfassung zum Löschen von Elementen aus einem Array (persönliches Memo)
Versuchen Sie, mithilfe der API eine Karte von Jave an Trello auszustellen oder zu erhalten
Extrahieren Sie jede Ziffernzahl aus einer dreistelligen Ganzzahl
[Java] Wie man mit der String-Klasse an die Spitze eines bestimmten Strings kommt
So ermitteln Sie den absoluten Pfad eines in Java ausgeführten Verzeichnisses
[Für Rails-Anfänger] Zusammenfassung der Verwendung von RSpec (Überblick)
[Einführung] Eine Sammlung sorgfältig ausgewählter Links zum Starten von GitHub und zum Lösen von Problemen, wenn in Git ein Fehler auftritt.
[Java] So konvertieren Sie ein Element eines Array vom Typ String in einen Int-Typ
graphql-ruby: So erhalten Sie den Namen der Abfrage oder Mutation im Controller Hinweis
So erhalten Sie die ID eines Benutzers, der sich in Swift bei Firebase authentifiziert hat
[Spring Boot] So rufen Sie Eigenschaften dynamisch aus einer in einer URL enthaltenen Zeichenfolge ab
So erstellen Sie eine Beurteilungsmethode, um nach einem beliebigen Zeichen im Array zu suchen
So erhalten Sie eine Klasse von Element in Java
Wie komme ich zum heutigen Tag?
[Java] Ruft Werte zufällig aus einem Array ab
So erhalten Sie eine SIMD-Optimierung für HotSpot JavaVM
Ich möchte ausgeben, welches Zeichen eine beliebige Zeichenfolge von links erscheint
Was tun, wenn in bind.pry eine falsche Anzahl von Argumenten angezeigt wird?
[Java] So erhalten Sie die URL der Übergangsquelle
So verwenden Sie ein Array für den TreeMap-Schlüssel
Wie schreibe ich Scala aus der Perspektive von Java
Bereitstellen von einem lokalen Docker-Image auf Heroku
[Java] So erhalten Sie den Maximalwert von HashMap
[Java] So erhalten Sie eine Anfrage per HTTP-Kommunikation
So geben Sie einen Standard aus einem Array mit for Each aus
[Android] So erhalten Sie die Einstellungssprache des Terminals
[Java] So löschen Sie ein bestimmtes Zeichen aus einer Zeichenfolge
So konvertieren Sie A in a und a in A mit logischem Produkt und Summe in Java
So verhindern Sie, dass editTextPreference von android PreferenceFragmentCompat beschädigt wird
[Rails] So erhalten Sie den Inhalt starker Parameter
[Swift] So erhalten Sie die Firebase-Dokument-ID
Wie man mit cli jdk etc. von oracle bekommt
[Ruby] So extrahieren Sie einen bestimmten Wert aus einem Array unter mehreren Bedingungen [select / each]
[Technische Hinweise] Dinge, die aus der Sicht eines Ingenieurs beim Erstellen einer Ansicht zu beachten sind
Die Geschichte vom unerfahrenen x Selbststudium bis zum Ingenieur eines webbasierten internen Entwicklungsunternehmens