Pagini recente » Cod sursa (job #234885) | Cod sursa (job #3001792) | Cod sursa (job #810656) | Cod sursa (job #312970) | Cod sursa (job #305189)
Cod sursa(job #305189)
program pascal;
var f,g:text; val,i,n,aux,st,sum,t1,t2,t3,pi,ps,lung:longint; viz:array[0..999] of longint;
s:array[1..100000] of longint;
procedure citire;
begin
assign(f,'koba.in'); reset(f); assign(g,'koba.out'); rewrite(g);
read(f,n,t1,t2,t3);
close(f);
end;
procedure suparare;
begin
pi:=viz[aux]; ps:=i-3; lung:=ps-pi+1; sum:=s[ps]-s[pi-1];
val:=n;
val:=val-(pi-1);
st:=s[pi-1];
aux:=val div lung; st:=st+sum*aux;
aux:=val mod lung;
sum:=s[pi+aux-1]-s[pi-1];
st:=st+sum;
end;
procedure calcul;
begin
t1:=t1 mod 10; t2:=t2 mod 10; t3:=t3 mod 10; aux:=100*t3+10*t2+t1; viz[aux]:=1;
s[1]:=t1; s[2]:=t2+s[1]; s[3]:=s[2]+t3;
for i:=4 to n do
begin
aux:=t3+t2*t1;
t1:=t2; t2:=t3; t3:=aux mod 10;
aux:=100*t3+10*t2+t1;
if viz[aux]<>0 then
begin
suparare;
break;
end else
begin
viz[aux]:=i-2;
s[i]:=s[i-1]+t3;
end;
end;
end;
procedure afisare;
begin
write(g,st);
close(g);
end;
begin
citire;
calcul;
afisare;
end.