Pagini recente » Cod sursa (job #1388601) | Cod sursa (job #2385025) | Cod sursa (job #869818) | Profil popoiu.george | Cod sursa (job #1037206)
#include<fstream>
using namespace std;
int n, p3, p2, p1, p4, k, p, u, ok, sum, i, nrsum, nrc, nrr, sum2;
struct cub{
int r;
int m;
int poz;
};
cub v[1100];
FILE*fin=fopen("koba.in","r");
ofstream fout("koba.out");
int main(){
fscanf(fin,"%d%d%d%d",&n, &p3, &p2, &p1);
p3%=10; p2%=10; p1%=10;
v[1].r=p3*100+p2*10+p1;
v[v[1].r].m=1;
v[v[1].r].poz=1;
k=1;
while(ok==0){
p4=(p3*p2+p1)%10;
v[++k].r=(v[k-1].r%100)*10+p4;
if(v[v[k].r].m==1){
p=v[v[k].r].poz;
u=k;
ok=1;
}
else{
v [v[k].r].m=1;
v [v[k].r].poz=k;
p3=p2; p2=p1; p1=p4;
}
}
for(i=1; i<=p-1; i++)
sum+=v[i].r/100;
for(i=p; i<u; i++)
sum2+=v[i].r/100;
nrsum=u-p;
nrc=(n-p+1)/nrsum;
nrr=(n-p+1)%nrsum;
sum+=sum2*nrc;
for(i=p; i<=p+nrr-1; i++)
sum+=v[i].r/100;
fout<<sum<<"\n";
return 0;
}