初心者のプログラミング日記

プログラミング初心者の日記

プログラミングに関することを書いていきます。

ABC138(A,B)

A - Red or Not

https://atcoder.jp/contests/abc138/tasks/abc138_a
かかった時間 2分

a=int(input())
s=str(input())

if a>=3200:
    print(s)
else:
    print("red")

B - Resistors in Parallel

https://atcoder.jp/contests/abc138/tasks/abc138_b
かかった時間 7分

from fractions import Fraction

N=int(input())
A=list(map(int,input().split()))
ans=0

for i in A:
   ans+=Fraction(1, i)
    
a=ans.numerator
b=ans.denominator

print(b/a)

分数の計算にはfractionsモジュールを使いました。以下、参考サイト
https://note.nkmk.me/python-fractions-usage/
https://python.atelierkobato.com/fraction/

おまけ

C問題は調べて所小さい順に入れていけばいいらしいんでそれを参考に書いてみました

N=int(input())
v=list(map(int,input().split()))
v.sort()

ans=(v[0]+v[1])/2
for i in range(N-2):
    ans=(ans+v[i+2])/2
    
print(ans)

初期値は1番目と2番目の平均を入れて、あとは3番目以降の要素を足して平均を求めていくだけです。
C問題にしては難しかったですけど、いい問題でした。