program aproximazija; {$APPTYPE CONSOLE} uses SysUtils, Math; var i,j,k,l,m,n,z,q,w:integer; b:array[1..6] of real; s:array[1..6,1..6] of real; x:array[1..50] of real; y:array[1..50] of real; del, del1:real; begin writeln('Vvedite kol-vo tochek grafika'); readln(m); writeln('Vvedite pari x i y') ; for i:=1 to m do begin readln(x[i],y[i]); end; writeln('Vvedite stepenb polinoma'); readln(n); z:=-1; for i:=1 to n+1 do begin z:=z+1; b[i]:=0; q:=-1; for w:=1 to m do b[i]:=b[i]+y[w]*power(x[w],z); for j:=1 to n+1 do begin s[i,j]:=0; q:=q+1; for k:=1 to m do begin s[i,j]:=s[i,j]+power(x[k],q+i-1); end; end; end; m:=0; for i:=1 to n+1 do begin del:=s[i,i]; b[i]:=b[i]/del; m:=m+1; for j:=1 to n+1 do begin s[i,j]:=s[i,j]/del; end; for l:=1 to n-i+1 do begin del1:=s[l+m,m]; for w:=1 to n+1 do begin s[l+m,w]:=s[l+m,w]-s[i,w]*del1; end; b[l+m]:=b[l+m]-del1*b[i]; end; end; m:=0; for i:=n+1 downto 1 do begin m:=m+1; for l:=n-m+1 downto 1 do begin del:=s[l,i]; s[l,i]:=0; b[l]:=b[l]-b[i]*del; end; end; for i:=1 to n+1 do begin writeln('a',i-1:2,'=',b[i]:15:8); end; readln; end.