Pagini recente » Cod sursa (job #1854991) | Cod sursa (job #1187258) | Cod sursa (job #657366) | Cod sursa (job #632306) | Cod sursa (job #520917)
Cod sursa(job #520917)
#include<fstream>
using namespace std;
int v[1005],a,b,c;
int n,nr,perioada,zero,poz[1005];
long long suma,rez;
int main()
{
ifstream fin("koba.in");
ofstream fout("koba.out");
fin>>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;
for(int j=1;j<=n%perioada;j++)
{
t=a+b*c;
c=b;
b=a;
a=t%10;
rez+=a;
}
}
}
fout<<rez;
return 0;
}