Ver Mensaje Individual
  #17  
Antiguo 17-11-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Bueno, al parecer el ciclo nunca termina porque al inicializar Last1 y Last2 de esa manera, ambos quedan con una precisión de 1 que no alcanza ni para un entero de tres dígitos.

Lo he podido hacer así:

Código Delphi [-]
var
  s,t,u: TBcd;

begin
  // Aquí inicializamos a 1 pero con precisión 21
  NormalizeBcd(IntegerToBcd(1), s, 21, 0);
  NormalizeBcd(IntegerToBcd(1), t, 21, 0);

  BcdAdd(s, t, u);

  while Length(BcdToStr(u)) <= 20 do
  begin
    s := t;
    t := u;

    BcdAdd(s, t, u);
  end;

  Edit1.Text := BcdToStr(t);
end;

// Saludos
Responder Con Cita