Pagini recente » Cod sursa (job #2017756) | Cod sursa (job #2263464) | Cod sursa (job #1335239) | Cod sursa (job #1549445) | Cod sursa (job #1335564)
#include <stdio.h>
#define MAXNR 999
int sum[MAXNR + 3], poz[MAXNR + 1];
int main(){
FILE *in = fopen("koba.in", "r");
int a, b, c, d, n, i, x;
fscanf(in, "%d%d%d%d", &n, &c, &b, &a);
a %= 10;
b %= 10;
c %= 10;
fclose(in);
for(i = 0; i <= MAXNR; i++)
poz[i] = -1;
sum[0] = c;
sum[1] = c + b;
i = 2;
x = a * 100 + b * 10 + c;
while(poz[x] == -1){
poz[x] = i;
sum[i] = sum[i - 1] + a;
d = (c * b + a) % 10;
c = b;
b = a;
a = d;
x = a * 100 + b * 10 + c;
i++;
}
FILE *out = fopen("koba.out", "w");
int rez = 0, rest, pers = poz[x], perf = i - 1;
if(n - 1 <= perf)
rez = sum[n - 1];
else{
rez += sum[pers - 1] + (sum[perf] - sum[pers - 1]) * ((n - pers) / (perf - pers + 1));
rest = (n - pers) % (perf - pers + 1) - 1;
if(rest >= 0)
rez += sum[pers + rest] - sum[pers - 1];
}
fprintf(out, "%d", rez);
fclose(out);
return 0;
}