Multiplication dans un tableau Ruby

Multiplication dans un tableau (entrée standard)

Trois entiers sont donnés, séparés par des espaces. Sortez la valeur obtenue en multipliant trois entiers.

Par exemple

4 10 5

Dans ce cas 4 x 10 x 5

200

Veuillez sortir.

Comment faire 1

ruby.rb


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

Commentaire

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

・ Appelez l'élément d'entrée avec la méthode get -Split la chaîne de caractères séparée par des virgules avec la méthode split ・ Extraire les éléments un par un avec la méthode map et les convertir en entiers avec to_i

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

・ Remplacez 1 par a at ʻa = 1` (valeur initiale) ・ Remplacez les éléments de nombres dans la variable numérique et répétez le processus suivant

Comment faire.2

Comment utiliser la méthode inject

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

puts numbers

méthode inject (méthode pour calculer la somme des tableaux)

inject est une méthode qui itère comme chacun et map.

La caractéristique est que les calculs itératifs sont effectués à l'aide de blocs.

Objet Array.inject {|valeur initiale,élément|Traitement des blocs}

Il est décrit comme.

Les éléments du bloc sont ajoutés par le tableau dans l'ordre de répétition, et le calcul est effectué en traitant le bloc.

Spécifiez un opérateur à l'aide d'un symbole pour l'injection

Vous pouvez écrire l'inject avec plus de style en passant l'opérateur comme symbole à l'inject.

Par exemple

Il peut être utilisé dans diverses situations telles que *.

array = 1..6
p array.inject(:+) #Ajouter tous les éléments du tableau
p array.inject(3,:+) #Ajoutez tous les éléments du tableau à la valeur initiale de 3
p array.inject(:*) #Multipliez tous les éléments du tableau
p array.inject(3,:*) #Multipliez tous les éléments du tableau par la valeur initiale de 3
p array.inject(100,:-) #Soustrayez la valeur totale du tableau de 100

[Résultat de l'exécution]

21
24
720
2160
79

Résumé

La méthode utilisant la méthode inject mentionnée dans le commentaire est plus intelligente et plus facile à calculer! Merci pour votre commentaire.

Recommended Posts

Multiplication dans un tableau Ruby
[Ruby] Extraction d'un tableau à deux dimensions
Implémenter le client gRPC dans Ruby
Hanachan en Ruby (manipulation non destructive de tableaux)
Qu'est-ce qu'un tableau bidimensionnel Ruby?
Comment changer une chaîne dans un tableau en un nombre dans Ruby
J'ai essayé un problème de calendrier avec Ruby
Lors de la recherche de plusieurs dans un tableau Java
À propos de la multiplication des tableaux
Tableau bidimensionnel Ruby
Lourd en rubis! ??
Manipulation du tableau Ruby
Traitement d'échappement lors de la création d'une URL dans Ruby
J'ai créé une bibliothèque d'extension Ruby en C
(Ruby on Rails6) Création de données dans une table
Triangle de sortie en Ruby
Types de variables dans ruby
Popcount rapide en Ruby
Tableau multidimensionnel dans Swift
[Ruby / Rails] Définissez une valeur unique (unique) dans la classe
Ce qui m'a impressionné en tant que débutant dans l'écriture de Ruby
Comment lancer une autre commande dans un programme Ruby
Comment convertir un fichier en tableau d'octets en Java
[Programmation complète] §5 Créer une application de gestion des avis dans Ruby
Je suis resté coincé dans un clone d'un tableau à deux dimensions
ABC177-Résoudre E avec Ruby
[Ruby] Comptez un nombre pair dans un tableau en utilisant la méthode pair?
Difficultés à créer un environnement Ruby on Rails (Windows 10) (SQLite3)
Qu'est-ce qu'un module Ruby?
Convertir un tableau d'octets Java en une chaîne hexadécimale
Créer un calendrier avec Ruby
Mettre à jour Ruby dans l'environnement Unicorn
Entiers qui sont unifiés en entiers dans Ruby 2.4
[Ruby] Gestion des exceptions dans les fonctions
Lire les données WAV sous forme de tableau d'octets sur Android Java
Utilisez des variables ruby en javascript.
Comment récupérer la valeur de hachage dans un tableau dans Ruby
J'ai recherché un framework web avec Gem en Ruby
À propos des expressions régulières dans Ruby
Apprendre Ruby avec AtCoder 13 Comment créer un tableau à deux dimensions
Rechercher un sous-ensemble en Java
Créer une loterie avec Ruby
Comment afficher des graphiques dans Ruby on Rails (LazyHighChart)
Comment ajouter les mêmes index dans un tableau imbriqué
Je veux créer un fichier Parquet même en Ruby