Pagini recente » Cod sursa (job #297864) | Cod sursa (job #1623652) | Cod sursa (job #1085502) | Monitorul de evaluare | Cod sursa (job #85320)
Cod sursa(job #85320)
#include <cstdio>
const int Nmax = 1000005;
int n;
int ret[Nmax];
inline int min(int a, int b) { return (a < b ? a : b); }
inline int max(int a, int b) { return (a > b ? a : b); }
int main() {
freopen("curcubeu.in", "r", stdin);
freopen("curcubeu.out", "w", stdout);
int a, b, c;
scanf("%d %d %d %d", &n, &a, &b, &c);
for (int i = min(a, b); i <= max(a, b); ++i)
ret[i] = c;
for (int i = 2; i < n; ++i) {
long long aux;
aux = a;
aux *= static_cast<long long>(i);
aux %= static_cast<long long>(n);
a = aux;
aux = b;
aux *= static_cast<long long>(i);
aux %= static_cast<long long>(n);
b = aux;
aux = c;
aux *= static_cast<long long>(i);
aux %= static_cast<long long>(n);
c = aux;
for (int i = min(a, b); i <= max(a, b); ++i)
ret[i] = c;
}
for (int i = 1; i < n; ++i)
printf("%d\n", ret[i]);
}