Ir para conteúdo
Fórum Script Brasil
  • 0

Fatorial


Guest - Marco -

Pergunta

8 respostass a esta questão

Posts Recomendados

  • 0

Costumo usar a função:

Function Fatorial(n:Extended):Extended;

begin

If n = 0 Then

Fatorial:= 1

Else

Fatorial:= n * Fatorial(n-1);

end;

Porém, para mim ela apenas funciona para valores menores ou iguais a 1754.

Aproveitando a pergunta do colega, alguém saberia como fazer o cálculo com

qualquer número?

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Bart --
Micheus ,

Podemos concluir, que não existe como calcular o fatorial para números maiores?

Mesmo, que não veja nenhuma aplicação prática para isso!

não...

Podemos concluir que o DELPHI não "Conhece" numero maiores para esse calculo

Mesma coisa da calculadora

Se você for por 9999999999999999999 X 999999999999999999999 ela vai dar erro

xD

Link para o comentário
Compartilhar em outros sites

  • 0

Ola......

Sou estudante de tecnologia da informação.

Não sei muito, mas fiz teste de mesa e funcionou da seguinte forma:

var
  N,I, R : Integer;
begin
  R:=1;
  N := Strtoint(Edit1.Text);
  for I := 1 to N do
    R := R + I;
  edit2.Text:=Inttostr( R );

end;

att

Eli Martines

Editado por Micheus
Incluída tag's CODE para melhorar a visualização. Utilize a identação também ;)
Link para o comentário
Compartilhar em outros sites

  • 0
Guest Andre Lima

AE GALERA...o post foi em 2006, mas sempre vai ter quem precisa de ajuda então...fiz e deu certo

procedure TForm1.Button1Click(Sender: TObject);

var

i,r:integer;

begin

//r começa com 1 porque senão vai dá sempre 0 na multiplicação

r := 1;

//para 1 até o número que digitei faça

for i := 1 to strtoint(edit1.Text) do

Begin

//façam o teste de mesa que dá certinho!!

r := r * i;

End;

//mostrar r, que é o resultado

showmessage(inttostr®);

end;

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Andre Lima

consertei o showmessage

AE GALERA...o post foi em 2006, mas sempre vai ter quem precisa de ajuda então...fiz e deu certo

procedure TForm1.Button1Click(Sender: TObject);

var

i,r:integer;

begin

//r começa com 1 porque senão vai dá sempre 0 na multiplicação

r := 1;

//para 1 até o número que digitei faça

for i := 1 to strtoint(edit1.Text) do

Begin

//façam o teste de mesa que dá certinho!!

r := r * i;

End;

//mostrar r, que é o resultado

showmessage(inttostr( r ));

end;

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Nelson Antonio

o cálculo de fatorial fiz desta forma e deu certo

procedure TForm1.BitBtn1Click(Sender: TObject);

Var

aux:integer;

conta:integer;

numero:integer;

begin

aux:=StrToInt(Edit1.Text);

conta:=1;

numero:=1;

memo1.Lines.Clear;

while aux>0 do

begin

conta:=conta*numero;

aux:=aux-1;

numero:=numero+1;

memo1.Lines.Add(IntToStr(Conta));

end;

Edit2.Text:=IntToStr(conta);

end;

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...