Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros temas > La Taberna
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 15-11-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
Podemos usar el tipo TSuperlargo del que ya te hable en el otro hilo.

Código Delphi [-]
type
  TSuperLargo = array[0..30] of Byte;

function AddSuper(var a,b: TSuperLargo; Acarreo: Integer): TSuperLargo; overload;
var
  i,j: integer;
begin
  for i := 0 to 30 do
  begin
    j:= (Integer(a[i]) + Integer(b[i])) + Acarreo;
    Result[i]:= j mod 10;
    Acarreo:= j div 10;
  end;
end;

function AddSuper(a,b: TSuperLargo): TSuperLargo; overload;
begin
  Result:= AddSuper(a,b,0);
end;

function SuperToStr(a: TSuperLargo): string;
var
  i: integer;
  flag: Boolean;
begin
  Result:= '';
  flag:= FALSE;
  for i := 30 downto 0 do
  begin
    if flag then
      Result:= Result + IntToStr(a[i])
    else if a[i] > 0 then
    begin
      flag:= TRUE;
      Result:= Result + IntToStr(a[i]);
    end;
  end;
end;

// El algoritmo del fibonacci es un pelin cutre, lo se
function fibonacci(n: integer): string;
var
  i,j,k: TSuperLargo;
  Str: string;
begin
  FillChar(i,Sizeof(i),0);
  FillChar(j,Sizeof(j),0);
  FillChar(k,Sizeof(k),0);
  i[0]:= 1;
  j[0]:= 1;
  Result:= '';
  while Result = '' do
  begin
    k:= j;
    j:= AddSuper(i,j);
    i:= k;
    Str:= SuperToStr(j);
    if Length(Str)>n then
      Result:= SuperToStr(i);
  end;
end;


// Por ejemplo
ShowMessage(fibonacci(20));

La respuesta es:
x = 83621143489848422977
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Para alguien que este aburrido y con ganas de pensar! marceloalegre La Taberna 52 16-11-2006 21:52:18
Necesito alguien con paciencia y ganas e ayudare. Gabel Varios 2 13-09-2006 20:09:24
Para pensar seoane Humor 4 04-06-2006 23:48:34
Componente que tenga checkboxes como items k_miragaya OOP 2 22-07-2004 09:55:54
como hago q un TDBLookupComboBox tenga un valor seleccionado por defecto aram2r Conexión con bases de datos 1 03-06-2004 11:36:26


La franja horaria es GMT +2. Ahora son las 05:17:40.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi