Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

flavioavilela

fração em delphi

Recommended Posts

alguem já trabalhou com operações de fração em delphi?? adição, subtração e por ai vai...... tem alguma unit do delphi que nos auxilie...????

Compartilhar este post


Link para o post
Compartilhar em outros sites

alguem já trabalhou com operações de fração em delphi?? adição, subtração e por ai vai...... tem alguma unit do delphi que nos auxilie...????

 

A idéia básica :

function MMC(x1, x2: Integer): Integer;
var
Resp, Prime: Integer;
Flip: Boolean;
begin
//Inicializando as variáveis de controle
Flip := false;
Resp := 1;
Prime := 2;

//Fazer o loop enquanto eu não "zerar" os valores passados
while (x1 > 1) or (x2 > 1) do
begin
//Se x1 for divisível por Prime...
if (x1 > 1) and ((x1 mod Prime) = 0) then
begin
x1 := x1 div Prime;
Flip := true;
end;

//Se x2 for divisível por Prime...
if (x2 > 1) and ((x2 mod Prime) = 0) then
begin
x2 := x2 div Prime;
Flip := true;
end;

//Se um dos números for divisível eu incluo o número primo no //calculo
//Senão eu busco o próximo número primo da lista
if Flip then
begin
Resp := Resp * Prime;
Flip := false;
end
else
NextPrime(Prime);
end;

result := Resp;
end;

procedure NextPrime(var P: Integer);
begin
if P = 2 then
P :=3
else if P = 3 then
P := 5
else if P = 5 then
P := 7
else if P = 7 then
P := 11
else if P = 11 then
P := 13
else if P = 13 then
P := 17
else if P = 17 then
P := 19
else if P = 19 then
P := 23
else if P = 23 then
P := 29
else if P = 29 then
P := 31
else if P = 31 then
P := 37
else if P = 37 then
P := 41
else if P = 41 then
P := 43
else if P = 43 then
P := 47
else if P = 47 then
P := 49
else if P = 49 then
P := 53
else if P = 53 then
P := 59
end; 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.