Ranking (as of 2015-07-31): 16 out of 634
Language: C++
/* UVa 12068 - Harmonic Mean To build using Visual Studio 2012: cl -EHsc -O2 UVa_12068_Harmonic_Mean.cpp */ #include <cstdio> long long gcd(long long x, long long y) { if (x < y) return gcd(y, x); else return y == 0 ? x : gcd(y, x % y); } int main() { int S; scanf("%d", &S); for (int s = 1; s <= S; s++) { const int N_max = 8; int N, numbers[N_max]; scanf("%d", &N); for (int i = 0; i < N; i++) scanf("%d", &numbers[i]); long long numerator = N, denominator = 0; for (int i = 0; i < N; i++) { numerator *= numbers[i]; long long d = 1; for (int j = 0; j < N - 1; j++) d *= numbers[(i + j) % N]; denominator += d; } long long g = gcd(numerator, denominator); printf("Case %d: %lld/%lld\n", s, numerator / g, denominator / g); } return 0; }
No comments:
Post a Comment