https://onlinejudge.u-aizu.ac.jp/challenges/sources/JAG/Prelim/2882
解法
https://onlinejudge.u-aizu.ac.jp/solutions/problem/2882/review/2994225/hamayanhamayan/C++14
[L,R]のすべての数について一般化うるう年かを判定すればいい。
N個の判定途中で一般化うるう年かどうかの判定ができる場合があるので、
判定は関数として分けておくと良い。
int N, L, R, A[50]; //--------------------------------------------------------------------------------------------------- int check(int x) { rep(i, 0, N) if (x % A[i] == 0) { if (i % 2 == 0) return 1; else return 0; } if (N % 2 == 1) return 0; else return 1; } //--------------------------------------------------------------------------------------------------- void _main() { while (cin >> N >> L >> R) { if (N == 0) return; rep(i, 0, N) cin >> A[i]; int ans = 0; rep(i, L, R + 1) ans += check(i); printf("%d\n", ans); } }