Pagini recente » Cod sursa (job #1370186) | Cod sursa (job #1237723) | Cod sursa (job #1926401) | Cod sursa (job #531521) | Cod sursa (job #342455)
Cod sursa(job #342455)
#include<stdio.h>
#define k(a,b,c) a*100+b*10+c
int n,t1,t2,t3,t4,s,i,m,poz,sum,lim;
int f[1000];
int main()
{
freopen("koba.in","r",stdin);
freopen("koba.out","w",stdout);
scanf("%d%d%d%d",&n,&t1,&t2,&t3);
t1=t1%10;t2=t2%10;t3=t3%10;
s=t1;
f[k(t1,t2,t3)]=1;
for(i=2;i<=n;i++)
{
t4=(t1*t2+t3)%10;
t1=t2;t2=t3;t3=t4;
if(f[k(t1,t2,t3)])
{
m=i-f[k(t1,t2,t3)];
n=n-i+1;
break;
}
f[k(t1,t2,t3)]=i;
s+=t1;
}
if(i>n)
{
printf("%d\n",s);
return 0;
}
poz=k(t1,t2,t3);
f[poz]=0;
while(!f[poz])
{
sum=sum+t1;
t4=(t1*t2+t3)%10;
t1=t2;t2=t3;t3=t4;
f[k(t1,t2,t3)]=1;
}
s=s+((int)(n/m))*sum;
lim=n%m;
for(i=1;i<=lim;i++)
{
s=s+t1;
t4=(t1*t2+t3)%10;
t1=t2;t2=t3;t3=t4;
}
printf("%d\n",s);
return 0;
}