성장일기
[python] 백준 21920 - 서로소 평균 본문
첫번째 줄에 수의 개수
두번째 줄에 수열
마지막 줄에 X
수열에서 X와 서로소인 수들의 평균 출력
🎇절대/상대 오차는 10^-6까지 허용
🧨lcm(a,b)==a*b / gcd(a,b)==1
위의 식을 이용해서 서로소인것을 따로 리스트에 넣어주기
막힘 없이 풀었으나 마지막 오차에서 막혔다.
소수점 출력해주면 된다!
import sys
input=sys.stdin.readline
def gcd(a,b):
if b==0:
return a
else:
return gcd(b,a%b)
def lcm(a,b):
return (a*b)//gcd(a,b)
#서로소: lcm(a,b)==a*b or gcd(a,b)==1
n=int(input().rstrip()) #수의 개수
a=list(map(int,input().split())) #수열
x=int(input().rstrip()) #x
mean=[]
for i in range(n):
if a[i]!=x: #x와 같은 수가 아니면서
if gcd(a[i],x)==1: #gcd(a,b)==1인 것
mean.append(a[i])
print('{:.6f}'.format(sum(mean)/len(mean))) #표준오차,,
'알고리즘 문제' 카테고리의 다른 글
[python] 백준 17390 - 이건 꼭 풀어야해! (0) | 2022.01.11 |
---|---|
[python] 백준 11441 - 합 구하기 (0) | 2022.01.11 |
[python] 백준 13412 - 서로소 쌍 (0) | 2022.01.08 |
실버 1 🎉 (0) | 2022.01.08 |
[python] 백준 5430 - AC (0) | 2022.01.08 |