Search
Duplicate
📗

서로소 평균

주차
문제번호
21920
언어
C++
티어
실버
유형
수학
정수론
유클리드 호제법
nj_Blog
nj_상태
이해도
100%
풀이
사람
이해도 2
13 more properties

문제접근

유클리드 호제법을 통해 구한 최대공약수가 1이면 그 둘은 서로소이다

놓쳤던 부분

float으로 하여 오차범위 내에 하지 못함

코드

3976 KB

96 ms

#include <iostream> #include <vector> using namespace std; int gcd(int a, int b) { if (b == 0) return a; return gcd(b, a % b); } int main(void) { int n; vector<int> a; int x; double answer_count = 0; double answer_sum = 0; ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin >> n; a.resize(n); for (int i = 0; i < n; i++) cin >> a[i]; cin >> x; for (int i = 0; i < n; i++) { int max = a[i]; int min = x; if (x > a[i]) { max = x; min = a[i]; } if (gcd(max, min) == 1) { answer_count++; answer_sum += a[i]; } } cout << answer_sum / answer_count; return (0); }
C++
복사