Cod sursa(job #2327850)

Utilizator AxellApostolescu Alexandru Axell Data 25 ianuarie 2019 01:26:03
Problema Iepuri Scor 40
Compilator c-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <stdio.h>
#include <stdlib.h>
#define MAX 666013

void execution(int x, int y, int z, int a, int b, int c, int n, FILE* out) {
	int tmp;
	for (int i = 0 ; i < n - 2 ; ++i) {
		tmp = z;
		z = (a * z + b * y + c * x) % MAX;
		x = y;
		y = tmp; 
	}
	fprintf(out, "%d\n", z);
}

int main() {
	FILE *in, *out;
	int t, a, b, c, x, y, z, n;
	if ((in = fopen("iepuri.in", "rt")) == NULL) {
		printf("Nu am putut deschide fisierul de intrare!\n");
		return -1;
	}
	if ((out = fopen("iepuri.out", "wt")) == NULL) {
		printf("Nu am putut deschide fisierul de iesire!\n");
		return -2;
	}
	fscanf(in, "%d", &t);
	for (int i = 0 ; i < t ; ++i) {
		fscanf(in, "%d %d %d %d %d %d %d", &x, &y, &z, &a, &b, &c, &n);
		execution(x, y, z, a, b, c, n, out);
	}
	fclose(in);
	fclose(out);
	return 0;
}