Pagini recente » Profil bodea.georgiana | Cod sursa (job #2325990) | Cod sursa (job #1890573) | Cod sursa (job #2296018) | Cod sursa (job #158146)
Cod sursa(job #158146)
#include <stdio.h>
#include <string.h>
using namespace std;
int A[16][16][16], S[1024], T[1024];
int main(void)
{
freopen("koba.in", "rt", stdin);
freopen("koba.out", "wt", stdout);
int i, N, t1, t2, t3, K, res = 0;
scanf("%d ", &N), N--;
for(i = 0; i < 3; i++)
{
scanf("%d ", &T[i]), T[i] %= 10, S[i] += T[i];
if(i > 0) S[i] += S[i-1];
}
A[T[0]][T[1]][T[2]] = 2, K = 3;
while(1)
{
T[K] = T[K-1]+T[K-2]*T[K-3], T[K] %= 10, S[K] = S[K-1]+T[K];
if(A[ T[K] ][ T[K-1] ][ T[K-2] ]) break ;
A[ T[K] ][ T[K-1] ][ T[K-2] ] = K++;
}
if(N <= K) { printf("%d\n", S[N]); return 0; }
i = A[ T[K] ][ T[K-1] ][ T[K-2] ], res = S[i];
res += (S[K]-S[i])*((N-i)/(K-i));
res += S[i+ (N-i)%(K-i)]-S[i];
printf("%d\n", res);
return 0;
}