J'ai écrit un programme de calcul de score simple, donc un mémorandum pour moi-même
Tout d'abord, le code suivant
qiita.rb
k,n = gets.chomp.split(" ").map{|i| i.to_i}
a = []
d = []
k.times do
d_1,a_1 = gets.chomp.split(' ').map{|i| i.to_i}
d.push(d_1)
a.push(a_1)
end
num = 0
check = []
while k > 0
if d[num].between?(1,9)
check.push(((a[num].fdiv(n) * 100) * 0.8).floor)
elsif d[num] >= 10
check.push(0)
else
check.push((a[num].fdiv(n) * 100).floor)
end
if check[num] >= 80
puts "A"
elsif check[num] >= 70
puts "B"
elsif check[num] >= 60
puts "C"
else
puts "D"
end
num = num + 1
k = k - 1
end
La première déclaration if vérifie si des points peuvent être déduits de la date limite de soumission. Il n'y a pas d'origine s'il n'y a pas de date limite en supposant la date limite de soumission (j_1) 20% de déduction si retardé de 1 à 9 jours Je donne 0 point pendant 10 jours ou plus.
La seconde instruction if renvoie l'évaluation du score final en quatre étapes.
La nouvelle méthode utilisée cette fois est fdiv. En un mot, c'est presque la même chose que to_f.
x / y.to_f Être x.fdiv(y) Je suis juste en train de le réparer
Recommended Posts