Multiplikation innerhalb eines Ruby-Arrays

Multiplikation in einem Array (Standardeingabe)

Es werden drei Ganzzahlen angegeben, die durch Leerzeichen getrennt sind. Geben Sie den Wert aus, der durch Multiplizieren von drei Ganzzahlen erhalten wird.

Zum Beispiel

4 10 5

In diesem Fall 4 x 10 x 5

200

Bitte ausgeben.

Wie zu tun. 1

ruby.rb


numbers = gets.split(' ').map(&:to_i)
a = 1
numbers.each do |number|
    a = a * number
end
puts a

Kommentar

numbers = gets.split(' ').map(&:to_i)

・ Rufen Sie das Eingabeelement mit der Methode get auf

a = 1
numbers.each do |number|
    a = a * number
end

・ Ersetzen Sie 1 durch a mit a = 1 (Anfangswert) ・ Setzen Sie die Zahlenelemente in die Zahlenvariable ein und wiederholen Sie den folgenden Vorgang

Wie zu tun. 2

Verwendung der Injektionsmethode

numbers = gets.split(' ').map(&:to_i).inject(:*)

puts numbers

Inject-Methode (Methode zur Berechnung der Summe der Arrays)

Injizieren ist eine Methode, die wie jede und Map iteriert.

Das Merkmal ist, dass iterative Berechnungen unter Verwendung von Blöcken durchgeführt werden.

Array-Objekt.inject {|Ursprünglicher Wert,Element|Blockverarbeitung}

Es wird beschrieben als.

Die Elemente des Blocks werden vom Array in der Reihenfolge der Wiederholung hinzugefügt, und die Berechnung wird durch Verarbeiten des Blocks durchgeführt.

Geben Sie einen Operator an, der ein Symbol für die Injektion verwendet

Sie können die Injektion stilvoller schreiben, indem Sie den Operator als Symbol an die Injektion übergeben.

Zum Beispiel

Es kann in verschiedenen Situationen wie * verwendet werden.

array = 1..6
p array.inject(:+) #Fügen Sie alle Elemente des Arrays hinzu
p array.inject(3,:+) #Fügen Sie alle Elemente des Arrays zum Anfangswert 3 hinzu
p array.inject(:*) #Multiplizieren Sie alle Elemente des Arrays
p array.inject(3,:*) #Multiplizieren Sie alle Elemente des Arrays mit dem Anfangswert 3
p array.inject(100,:-) #Subtrahieren Sie den Gesamtwert des Arrays von 100

[Ausführungsergebnis]

21
24
720
2160
79

Zusammenfassung

Die im Kommentar erwähnte Methode mit der Injektionsmethode ist intelligenter und einfacher zu berechnen! Danke für deinen Kommentar.

Recommended Posts

Multiplikation innerhalb eines Ruby-Arrays
[Ruby] Extrahieren eines zweidimensionalen Arrays
Implementieren Sie den gRPC-Client in Ruby
Hanachan in Ruby (zerstörungsfreie Array-Manipulation)
Was ist ein zweidimensionales Ruby-Array?
So ändern Sie eine Zeichenfolge in einem Array in eine Zahl in Ruby
Ich habe ein Kalenderproblem mit Ruby versucht
Bei der Suche nach mehreren in einem Java-Array
Informationen zur Array-Multiplikation
Ruby zweidimensionales Array
Schwer in Rubin! ??
Ruby-Array-Manipulation
Escape-Verarbeitung beim Erstellen einer URL in Ruby
Ich habe eine Ruby-Erweiterungsbibliothek in C erstellt
(Ruby on Rails6) Erstellen von Daten in einer Tabelle
Ausgabedreieck in Ruby
Arten von Variablen in Ruby
Schneller Popcount in Ruby
Mehrdimensionales Array in Swift
[Ruby / Rails] Legen Sie einen eindeutigen (eindeutigen) Wert in der Klasse fest
Was mich als Anfänger beim Schreiben von Ruby beeindruckt hat
So starten Sie einen anderen Befehl in einem Ruby-Programm
So konvertieren Sie eine Datei in ein Byte-Array in Java
[Vollständige Programmierung] §5 Erstellen Sie eine Überprüfungsverwaltungs-App in Ruby
Ich steckte in einem Klon eines zweidimensionalen Arrays fest
ABC177 - E in Ruby lösen
[Ruby] Zähle eine gerade Zahl in einem Array mit der geraden? -Methode
Schwierigkeiten beim Erstellen einer Ruby on Rails-Umgebung (Windows 10) (SQLite3)
Was ist ein Ruby-Modul?
Konvertieren Sie ein Java-Byte-Array in eine hexadezimale Zeichenfolge
Erstellen eines Kalenders mit Ruby
Aktualisieren Sie Ruby in der Unicorn-Umgebung
Ganzzahlen, die in Ruby 2.4 zu Ganzzahlen zusammengefasst sind
[Ruby] Ausnahmebehandlung in Funktionen
Lesen Sie WAV-Daten als Byte-Array unter Android Java
Verwenden Sie Ruby-Variablen in Javascript.
So rufen Sie den Hashwert in einem Array in Ruby ab
Ich habe mit Gem in Ruby nach einem Webframework gesucht
Über reguläre Ausdrücke in Ruby
Ruby mit AtCoder lernen 13 So erstellen Sie ein zweidimensionales Array
Suchen Sie eine Teilmenge in Java
Erstellen Sie eine Lotterie mit Ruby
So zeigen Sie Diagramme in Ruby on Rails an (LazyHighChart)
So fügen Sie dieselben Indizes in ein verschachteltes Array ein
Ich möchte eine Parkettdatei auch in Ruby erstellen