Pagini recente » Cod sursa (job #1633483) | Cod sursa (job #860637) | Cod sursa (job #1581185) | Cod sursa (job #2880733) | Cod sursa (job #520919)
Cod sursa(job #520919)
#include<fstream>
using namespace std;
int v[1005],a,b,c;
int n,nr,perioada,zero,poz[1005];
long long suma,rez,nn;
int main()
{
ifstream fin("koba.in");
ofstream fout("koba.out");
fin>>n;
nn=n;
fin>>c>>b>>a;
nr=(a%10)*100+(b%10)*10+c%10;
poz[nr]=3;
rez=a%10+b%10+c%10;
v[nr]=rez;
int i;
for(i=4;i<=n && perioada==0;i++)
{
int t=a+b*c;
rez+=t%10;
c=b;
b=a;
a=t%10;
nr=(a%10)*100+(b%10)*10+c%10;
if(poz[nr]==0)
{
poz[nr]=i;
v[nr]=rez;
}
else
{
perioada=i-poz[nr];
n-=i;
long long sum=rez-v[nr];
int asa=n/perioada;
rez+=asa*sum;
i+=asa*perioada;
for(int j=i+1;j<=nn;j++)
{
t=a+b*c;
c=b;
b=a;
a=t%10;
rez+=a;
}
}
}
fout<<rez;
return 0;
}