Pagini recente » Cod sursa (job #1713121) | Cod sursa (job #2627742) | Cod sursa (job #1009723) | Cod sursa (job #295779) | Cod sursa (job #138385)
Cod sursa(job #138385)
var fi,fo:text;
a,b,c,n,i,s1,s2,su,pozi,pozf,ct:longint;
T:array[1..10000000]of byte;
s:array[0..999]of longint;
begin
assign(fi,'koba.in'); reset(fi);
assign(fo,'koba.out'); rewrite(fo);
read(fi,n,a,b,c);
T[1]:=a mod 10; T[2]:=b mod 10; T[3]:=c mod 10;
s[T[1]*100+T[2]*10+T[3]]:=1;
for i:=4 to n do
begin
T[i]:=(T[i-1]+T[i-2]*T[i-3]) mod 10;
if s[T[i]*100+T[i-1]*10+T[i-2]]<>0 then
begin
pozi:=s[T[i]*100+T[i-1]*10+T[i-2]];
pozf:=i-2;
break;
end
else
s[T[i]*100+T[i-1]*10+T[i-2]]:=i-2;
end;
s1:=0; s2:=0;
for i:=1 to pozi-1 do
s1:=s1+T[i];
for i:=pozi to pozf-1 do
s2:=s2+T[i];
n:=n-pozi;
ct:=n div (pozf-pozi);
s2:=s2*ct;
n:=n mod (pozf-pozi);
for i:=pozi to pozi+n do
s2:=s2+T[i];
writeln(fo,s1+s2);
close(fi);
close(fo);
end.