Pagini recente » Cod sursa (job #1944606) | Cod sursa (job #1505407) | Cod sursa (job #1919515) | Cod sursa (job #1764324) | Cod sursa (job #780005)
Cod sursa(job #780005)
#include<fstream>
using namespace std;
ifstream f("koba.in");
ofstream g("koba.out");
int n,a,b,c,x,t1,t2,t3,i,s[1000000],sum,P,SumP,VIZ[10][10][10],d;
int main () {
f>>n>>t1>>t2>>t3;
a=t1;b=t2;c=t3;
a%=10;b%=10;c%=10;
s[1]=a;s[2]=b+a;s[3]=c+b+a;
VIZ[a][b][c]=3;
for(i=4;i<=n;++i) {
d=(c+a*b)%10;
a=b;b=c;c=d;
s[i]=s[i-1]+c;
if(!VIZ[a][b][c])
VIZ[a][b][c]=i;
else
break;
}
P=i-VIZ[a][b][c];
SumP=s[i]-s[VIZ[a][b][c]];
n-=VIZ[a][b][c];
sum=s[VIZ[a][b][c]];//before period
sum+=(n/P)*SumP; // sum of periods
sum+=s[i-P+n%P]-s[VIZ[a][b][c]];// after periods
g<<sum<<"\n";
return 0;
}