[RUBY] AtCoder Anfängerwettbewerb 169 A, B, C mit Rubin

4 .. Seit ich das C-Problem das letzte Mal gelöst habe, habe ich es geleckt, dass ich es diesmal tun könnte, und bin auf die Grundlagen der Computertechnik gestoßen.

Ein Problem

abc169a.rb


ab = gets.chomp.split(" ").map!{|item| item.to_i}
puts ab[0] * ab[1]

Einfach schreiben.

B Problem

abc169b.rb


n = gets.chomp.to_i
a = gets.chomp.split(" ").map!{|item| item.to_i}
num = 1
ans = 1
th = 10**18
a.sort!{|a,b| (-1)*(a <=> b)}
if a[n - 1] == 0
    puts 0
    exit
end
for num in 1..n do
    ans = ans * a[num-1]
    num = num + 1
    if ans > th
        puts "-1"
        exit
    end
end
puts ans

Es ist eine Multiplikation von ganzen Zahlen, aber in Ordnung

  1. Wenn es nur eine 0 gibt, 0
  2. Wenn 10 ^ 18 überschritten wird, geben Sie sofort -1 zurück und beenden Sie den Vorgang.
  3. Gibt das Produkt aller Elemente zurück Richtige Antwort. Mit c müssen Sie 2 sorgfältig prüfen, aber mit Ruby müssen Sie sich keine Sorgen machen, da es sich um einen Ganzzahltyp handelt und bei Bedarf mehrere Mehrfachzahlen verwendet werden. Ich habe geschrieben, dass es in umgekehrter Reihenfolge sortiert wird, so dass es schnell in die Prüfung von 2 gerät und prüft, ob das letzte Element zuerst 0 ist, aber a.include? (0) oder a.min ist genug. Vergiss nicht hinzuzufügen!

C Problem

abc169c.rb


ab = gets.chomp.split(" ")
a=ab[0].to_i
b=((ab[1].to_s).delete(".")).to_i
ans = a*b/100
puts ans

Multiplizieren Sie b mit 100, berechnen Sie es als Ganzzahl mit to_s und dividieren Sie es durch 100. Behandle b als Ganzzahl und to_s ist einfach, nachdem der Dezimalpunkt entfernt wurde. Ich kann das auch nicht bestehen. Ich werde mich widmen.

Recommended Posts

AtCoder Anfängerwettbewerb 169 A, B, C mit Rubin
AtCoder Anfängerwettbewerb 170 A, B, C bis Rubin
Lösen mit Ruby AtCoder ACL Anfängerwettbewerb C Union Find (DSU)
Ruby mit AtCoder 6 lernen [Contest 168 Daher]
AtCoder Anfängerwettbewerb 167 C Problem (Java)
AtCoder Anfängerwettbewerb 168
Ruby mit AtCoder 7 lernen [Contest 168 Triple Dots]
diverta 2019 Programmierwettbewerb A & B & C & D.
ABC - 023 - A & B & C.
ABC - 036-A & B & C.
ABC - 010 - A & B & C.
ABC - 028 - A & B & C.
ABC - 015 - A & B & C.
ABC - 128 - A & B & C.
ABC - 012-A & B & C.
ABC - 018 - A & B & C.
ABC - 054 - A & B & C.
ABC - 017 - A & B & C.
ABC - 029 - A & B & C.
ABC - 022 - A & B & C.
ABC - 019 - A & B & C.
ABC - 020 - A & B & C.
ABC - 030 - A & B & C.
ABC - 127 - A & B & C.
ABC - 007 - A & B & C.
ABC - 132 - A & B & C.
ABC - 026 - A & B & C.
ABC - 014 - A & B & C.
ABC - 016 - A & B & C.
ABC - 011-A & B & C.
ABC - 031 - A & B & C.
ABC - 021 - A & B & C.
ABC - 025 - A & B & C.
ABC - 024 - A & B & C.
ABC - 027 - A & B & C.
ABC - 080 - A & B & C.
Lösen mit Ruby, Perl und Java AtCoder ABC 128 C.
AtCoder Beginner Contest 182 Teilnahmeartikel
ABC - 133 - A & B & C & D.
ABC - 122 - A & B & C & D.
AtCoder Anfängerwettbewerb 132 D Problem
ABC - 125 - A & B & C & D.
ABC - 130 - A & B & C & D.
ABC - 126 - A & B & C & D.
Ruby mit AtCoder lernen 13 So erstellen Sie ein zweidimensionales Array
AtCoder dwango Programmierwettbewerb B zum Lösen in Ruby, Perl und Java B.
Lösen mit Ruby, Perl und Java AtCoder ABC 129 C (Teil 1)
Löse den AtCoder-Anfängerwettbewerb 151 mit Java
ABC - 134 - A & B & C & D & E.
Löse den AtCoder Beginner Contest 150 mit Java
Löse den AtCoder-Anfängerwettbewerb 153 mit Java
Löse den AtCoder-Anfängerwettbewerb 175 mit Java
ABC - 131 - A & B & C & D & E.
Löse den AtCoder-Anfängerwettbewerb 160 mit Java
Löse den AtCoder-Anfängerwettbewerb 152 mit Java
Löse den AtCoder-Anfängerwettbewerb 156 mit Java
Machen Sie ein Tippspiel mit Ruby
Lösen mit Ruby AtCoder 1. Algorithmus Praktischer Test Eine Ausnahmebehandlung
[Anfänger] Lösen wir das AtCoder-Problem mit Ruby, während wir uns den Artikel ansehen!
Lösen mit Ruby AtCoder ABC177 D Union Find
[Rails6] Erstelle eine neue App mit Rails [Anfänger]