효성이는 길이가 N인 수열 A에서 X와 서로소인 수들을 골라 평균을 구해보려고 한다.
효성이를 도와 이를 계산해주자.
첫째 줄에 수열 A에서 X와 서로소인 수들의 평균을 출력한다.
절대/상대 오차는 10**6까지 허용한다.
서로소는 두 수의 최대공약수가 1인 경우를 말한다. 최대공약수를 구하는 함수를 이용해서 쉽게 풀 수 있었다.
최대공약수 혹은 최소공배수를 이용하는 문제들은 자주 등장하기 때문에 외워두는 편이 정신건강에 이로운 것 같다.
import sys
si = sys.stdin.readline
n = int(si())
arr = list(map(int, si().split()))
x = int(si())
answer, cnt = 0, 0
def gcd(a, b):
while b:
a, b = b, a % b
return a
for i in arr:
if gcd(x, i) == 1:
answer += i
cnt += 1
print(answer / cnt)