Pagini recente » Cod sursa (job #208488) | Cod sursa (job #2406512) | Cod sursa (job #720826) | Cod sursa (job #236811) | Cod sursa (job #182784)
Cod sursa(job #182784)
#include<fstream.h>
ifstream fin("koba.in");
ofstream fout("koba.out");
int n,a,b,c,m[10][10][10],s[1000000],si,t;
int main()
{fin>>n>>a>>b>>c;
m[a][b][c]=1;
int i,j,x,y,z,p;
x=a%10;
y=b%10;
z=c%10;
s[1]=x;
s[2]=x+y;
s[3]=s[2]+z;
for(i=4;i<=n && !t;i++)
{p=(z+x*y)%10;
x=y;
y=z;
z=p;
s[i]=s[i-1]+p;
if(m[x][y][z]==0) m[x][y][z]=i-2;
else
{p=m[x][y][z];
t=i-p-2;
si=s[p-1];
for(j=1;j<=t;j++) s[j%t]=s[p+j-1]-si;
}
}
if(t==0) fout<<s[n];
else fout<<si+((n-p+1)/t)*s[0]+s[(n-p+1)%t];
fin.close();
fout.close();
return 0;
}