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

  #2  
Старый 15.01.2010, 12:20
Algol
Регистрация: 29.05.2002
Сообщений: 1,793
Провел на форуме:
2050916

Репутация: 0


По умолчанию

Цитата:
Сообщение от Sin3v  
100 десятичных цифр – количество носков в куче.
Нехилая такая кучка
Код:
function Div2(inS: string):string;
var outS:string;
    i:integer;
    d:integer;
    r:integer;
begin
outS := '';
r :=0;
for i:=1 to length(inS) do
  begin
  d:=strToInt(inS[i]);
  d:= d + r;
  if d mod 2 = 0 then
     r := 0
  else
     r := 10;
  outS := outS + intToStr(trunc(d/2));
  end;
result := outS;
end;

function Inc(inS:string):string;
var d:integer;
    r:integer;
    i:integer;
    outS:string;
begin
r:=1;
for i:=length(inS) downto 1 do
  begin
  d:=strToInt(inS[i]);
  d:= d + r;
  if d <= 9 then
    begin
     r := 0;
     outS := intToStr(d) + outS;
    end
  else
     outS := '0' + outS;
  end;
if r=1 then
  outS := '1'+outS;
result:=outS;
end;

procedure TForm1.Button1Click(Sender: TObject);
var outS:string;
begin
outS := Div2('758346754265436243257821647832674532287478');
outS := Inc(outS);
end;
 
Ответить с цитированием