|
|
вернуться в форумHelp !!! PLEASE !!! What's wrong in my code ????????? const nmax=100; type mas=array[1..nmax]of longint; var aa:array[0..500]of mas; i:longint; s:longint; n:longint; m,j:longint; a,b,c:mas; function dlina(a:mas):longint; var i:longint; begin i:=nmax; while a[i]=0 do dec(i); dlina:=i; end; procedure slog(a,b:mas;var c:mas); var i,d1,d2,max:longint; begin fillchar(c,sizeof(c),0); d1:=dlina(a);d2:=dlina(b); if d1>d2 then max:=d1 else max:=d2; for i:=1 to max do begin c[i]:=c[i]+a[i]+b[i]; if c[i]>9 then begin c[i+1]:=c[i] div 10; c[i]:=c[i] mod 10; end; end; end; procedure umn(a:mas;var c:mas); var i,j,p,z,d:longint; begin d:=dlina(a); fillchar(c,sizeof(c),0); for i:=1 to d do begin p:=0; for j:=1 to d do begin z:=a[i]*a[j]+p+c[i+j-1]; c[i+j-1]:=z mod 10; p:=z div 10; end; c[i+j]:=p; end; end; begin readln(n,s); if (s div 2>n*9)or(odd(n)) then begin writeln(0); halt; end; if n=1 then begin if s>9 then writeln(0)else writeln(1); halt; end; s:=s div 2; aa[0][1]:=1; for i:=1 to n do begin if s>9*i then m:=0 else m:=s; for j:=1 to m do begin slog(aa[j-1],aa[j],c); aa[j]:=c; end; end; umn(aa[m],c); for i:=dlina(c)downto 1 do write(c[i]); writeln; end. |
|
|