Показать сообщение отдельно

  #7  
Старый 16.12.2007, 16:00
Xserg
Участник форума
Регистрация: 09.12.2006
Сообщений: 135
С нами: 10222145

Репутация: 726
По умолчанию

1.
Код:
program Snak3;

var ss,s:string;
    n,i,k:longint;

procedure um(a,b:string;var c:string);
var n,k,i,j,x,p:integer;
    d:string;
begin
 n:=length(s);
 k:=length(b);
 c:=''; d:=''; p:=0;
 for i:=1 to n+k do d:=d+'0';
 for j:=k downto 1 do
  begin
  p:=0;
  for i:=n downto 1 do begin
  x:=(ord(a[i])-ord('0'))*(ord(b[j])-ord('0'))+p+ord(d[i+j])-ord('0');
  d[i+j]:=chr((x mod 10)+ord('0'));
  p:=x div 10;
                        end;
  d[j]:=chr(ord(d[j])+p);
  end;
 i:=1;
 n:=length(d);
 while (d[i]='0') and (i<n) do inc(i);
 for k:=i to n do c:=c+d[k];
end;

procedure sum(a,b:string;var c:string);
var x,i,p,n,k:integer;
begin
 n:=length(a);
 k:=length(b);
 p:=0;
 c:='';
 if n<k then begin
 for i:=n+1 to k do
 a:='0'+a;
             end else
 begin
 for i:=k+1 to n do
 b:='0'+b; end;
 n:=length(a);
 for i:=n downto 1 do
  begin
  x:=ord(a[i])-ord('0')+ord(b[i])-ord('0')+p;
  c:=chr((x mod 10)+ord('0'))+c;
  p:=x div 10;
  end;
 if p<>0 then
 begin
  inc(n);
  c:='1'+c;
 end;
end;


begin
write('Enter n');
readln(n);
ss:='';
for i:=1 to n do begin
 s:='1';
 for k:=1 to i do   um(s,str(k),s);
 sum(ss,s,ss);
                 end;
writeln('1!+2!+3!+..+n!=',ss);
read(n);
end.
2.
Код:
x1:=round(y(q+i*dx));
 
Ответить с цитированием