Cette fois, nous allons créer un programme de calcul de salaire à temps partiel à partir d'une entrée standard.
Le salaire est déterminé par les règles suivantes.
・ De 9h00 à 17h00:Salaire horaire X yen(Salaire horaire normal)
・ De 17h00 à 22h00:Salaire horaire Y yen(Salaire de nuit)
· D'autres fois:Salaire horaire Z yen(Salaire horaire de minuit)
Vos heures de travail et de congé de N jours sont données sur une base horaire.
Calculez le montant total que vous obtiendrez pour N jours.
Dans le cas de l'exemple d'entrée, les salaires horaires de X yen, Y yen et Z yen sont également travaillés en 4 jours.
Le montant total est de Z × 9+ X×8 + Y×5 + Z×1 = 1500×9 + 1000×8 + 1300×5 + 1500×1 =Ce sera 29500 yens.
Exemple d'entrée
1000 1300 1500
4
0 9
9 17
17 22
22 23
Exemple de sortie
29500
ruby.rb
m = gets.split.map &:to_i
#Acquisition de l'autosuffisance
nums = gets.to_i
#Obtention du nombre de jours ouvrés
times = []
while time = gets
times << time.chomp.split(' ').map(&:to_i)
end
sum=0
(0..nums-1).each do |i|
(times[i][0]+1..times[i][1]).each do |t|
if t<=9
sum += m[2]
elsif t<=17
sum+= m[0]
elsif t<=22
sum+= m[1]
else
sum+= m[2]
end
end
end
puts sum
ruby.rb
times = []
while time = gets
times << time.chomp.split(' ').map(&:to_i)
end
Acquérir plusieurs éléments de plusieurs lignes (heures de travail après la troisième ligne). En définissant while time = gets, il sera répété jusqu'à ce que toutes les valeurs d'entrée standard soient acquises.
ruby.rb
sum=0
(0..nums-1).each do |i|
(times[i][0]+1..times[i][1]).each do |t|
#Traitement du calcul du salaire horaire
end
end
ruby.rb
(0..nums-1).each do |i|
#Quand une variable est retirée
# 0 1 2 3
Obtenez le nombre de jours de travail un par un avec la variable i
ruby.rb
(times[i][0]+1..times[i][1]).each do |t|
#Lorsque vous récupérez la variable t(Premier jour)
# 1 2 3 4 5 6 7 8 9
1 Obtenez le fuseau horaire de travail du lever du soleil avec la variable t
ruby.rb
if t<=9
sum += m[2]
elsif t<=17
sum+= m[0]
elsif t<=22
sum+= m[1]
else
sum+= m[2]
end
L'autosuffisance horaire acquise par la variable t dans l'instruction if est extraite à plusieurs reprises et affectée à la variable somme.
Par exemple, après avoir répété pendant 4 jours, la variable de somme est sortie et le montant total est calculé! !! Ceci termine le programme.
J'ai un programme, mais je pense qu'il y a de nombreuses corrections. Je vous serais reconnaissant si vous pouviez indiquer ce qui ne va pas.
Recommended Posts