Pagini recente » Cod sursa (job #617394) | Cod sursa (job #1656911) | Cod sursa (job #1045316) | Cod sursa (job #1484888) | Cod sursa (job #1688615)
#include <cstdio>
#define CIF 10
using namespace std;
int t[CIF][CIF][CIF], v[CIF*CIF*CIF+1];
int main()
{
freopen("koba.in", "r", stdin);
freopen("koba.out", "w", stdout);
int f=0, i, n, sum=0, ciclu, st, sum1, r;
scanf("%d%d%d%d", &n, &v[1], &v[2], &v[3]);
v[1]%=10;
v[2]%=10;
v[3]%=10;
t[v[1]][v[2]][v[3]]=1;
for(i=4;i<=n && (!f);i++)
{
v[i]=(v[i-1]+v[i-2]*v[i-3])%10;
f=t[v[i-2]][v[i-1]][v[i]];
if(!f)
t[v[i-2]][v[i-1]][v[i]]=i-2;
else
{
ciclu=i-2-t[v[i-2]][v[i-1]][v[i]];
st=t[v[i-2]][v[i-1]][v[i]];
}
}
if(i>n)
{
sum=0;
for(i=1;i<=n;i++)
sum+=v[i];
printf("%d", sum);
}
else
{
sum=0;
for(i=st;i<=st+ciclu-1;i++)
sum+=v[i];
sum1=0;
for(i=1;i<st;i++)
sum1+=v[i];
n-=st-1;
sum=sum*(n/ciclu)+sum1;
r=n%ciclu;
for(i=st;i<st+r;i++)
sum+=v[i];
printf("%d", sum);
}
return 0;
}