Duvida com Matematica na programação  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
andrey.oliveira
HelloWorld
[Avatar]

Membro desde: 14/05/2008 07:37:35
Mensagens: 12
Localização: São Bernardo do Campo - SP
Offline

Cara, Fibonacci, pra quem quer "brincar" um pouco com lógica, é excelente... não é à toa q os professores de faculdade adoram... geralmente pedem pra descobrir o n-ésimo número da sequência...

Depois vou tentar desenvolver um método pra isso... se conseguir, depois eu posto aqui... aliás, se alguém conseguir, tanto Fibonacci qto MDC ou qualquer outra q mexa com a lógica, posta aqui o desafio pra galera!!

Abraços!!!

"Em terra de olho, quem tem cego... errei." - Millôr Fernandes
[WWW] [MSN]
Andre Brito
Virtual Machine Man
[Avatar]

Membro desde: 21/07/2007 17:44:31
Mensagens: 798
Localização: Paraná
Offline

Eu tive que fazer fibonacci no primeiro ano da faculdade... me bati bastante, mas fiz!
No segundo ano tive que fazer fibonacci recursivo, mas nem me lembro como fiz.

Um código bem 'porco' de fibonacci normal tá aqui:



Acho que tem jeitos de melhorar bastante ainda (principalmente no tempo de execução). Dá pra fazer recursivo também. Enfim...
Pra quem gosta desses desafios legais, tem o site do UVa Judge Online, Topcoder e os tribonaccis e tetranaccis da vida.

This message was edited 1 time. Last update was at 21/05/2008 13:12:23

Bruno Laturner
Virtual Machine Man

Membro desde: 18/02/2008 16:17:53
Mensagens: 696
Localização: 78050-000, Brazil
Offline

Essa conversa me lembra uma frase que li na internet:

"Não contrate alguém que implemente fatorial com recursão." Ou será que era fibonacci?

A resposta acima foi achada em menos de 5 minutos no google.
A API do Java é como o Lego, para brincar basta sair procurando as peças que se encaixam.
The prisoner falls in love with his chains. --E.W. Dijkstra
andrey.oliveira
HelloWorld
[Avatar]

Membro desde: 14/05/2008 07:37:35
Mensagens: 12
Localização: São Bernardo do Campo - SP
Offline

Bom, qto a recursividade, não sei discutir qdo é melhor ou não usar... falo somente pela implementação q eu postei aqui, q me pareceu ser bem mais fácil de implementar usando recursividade (embora seja completamente possível implementar uma solução para calcular o MDC sem usá-la...)

Uma coisa deve-se dizer: mais importante do que usar ou não, o mais importante é fazer de uma forma eficiente...

Abraços!!!

"Em terra de olho, quem tem cego... errei." - Millôr Fernandes
[WWW] [MSN]
andrey.oliveira
HelloWorld
[Avatar]

Membro desde: 14/05/2008 07:37:35
Mensagens: 12
Localização: São Bernardo do Campo - SP
Offline

Ae galera, a quem possa interessar, uma implementação pra calcular o MMC (Mínimo Múltiplo Comum):



Como pode ser visto, não usei recursividade dessa vez.

Se alguém tiver alguma "resposta" além dessa, compartilha com a galera!!!

Abraços!!!

This message was edited 1 time. Last update was at 22/05/2008 11:59:59


"Em terra de olho, quem tem cego... errei." - Millôr Fernandes
[WWW] [MSN]
maquiavelbona
Forum Spammer
[Avatar]

Membro desde: 29/06/2006 09:06:51
Mensagens: 2188
Localização: São Paulo - SP
Offline

Ainda em Álgebra I, você aprende que:
sendo
- a, b inteiros;
- d = MDC(a,b);
- m =MMC(a,b);

Então:
md=|ab|

Partindo disso e tendo o algoritmo de calcular MDC, não terás nenhuma dificuldade. Assim não precisa de um outro algoritmo especializado nisso.

Até!

This message was edited 1 time. Last update was at 21/05/2008 20:54:21


Projeto Loocrum
----------------------------------------------------------------
"Within a few years a simple and inexpensive device, readily carried about, will enable one to receive on land or sea the principal news, to hear a speech, a lecture, a song or play of a musical instrument, conveyed from any other region of the globe. "
Nikola Tesla - A means for furthering Peace (1905)

"Gedanken ohne Inhalt sind leer, Anschauungen ohne Begriffe sind blind."
Immanuel Kant - Kritik der reinen Vernunft (1781)
[WWW]
andrey.oliveira
HelloWorld
[Avatar]

Membro desde: 14/05/2008 07:37:35
Mensagens: 12
Localização: São Bernardo do Campo - SP
Offline

Fazendo um cálculo rápido aqui, realmente tenho q te dar razão, a regra é válida sim... ou seja, a partir de qualquer um dos dois (MMC ou MDC) eu consigo calcular o outro...

Mas convenhamos: qual a graça (sem desmerecer a importância dessa regra)?? Afinal, o esquema é desenvolver a lógica...

Abraços!!!

"Em terra de olho, quem tem cego... errei." - Millôr Fernandes
[WWW] [MSN]
maquiavelbona
Forum Spammer
[Avatar]

Membro desde: 29/06/2006 09:06:51
Mensagens: 2188
Localização: São Paulo - SP
Offline

andrey.oliveira wrote:Fazendo um cálculo rápido aqui, realmente tenho q te dar razão, a regra é válida sim... ou seja, a partir de qualquer um dos dois (MMC ou MDC) eu consigo calcular o outro...

Mas convenhamos: qual a graça (sem desmerecer a importância dessa regra)?? Afinal, o esquema é desenvolver a lógica...

Abraços!!!

Não tiro sua vontade, mas em questão de eficiência é bem legal usar os artifícios matemáticos que se tem. Assim não precisamos guardar várias maneiras de calcular as coisas.

Até!

Projeto Loocrum
----------------------------------------------------------------
"Within a few years a simple and inexpensive device, readily carried about, will enable one to receive on land or sea the principal news, to hear a speech, a lecture, a song or play of a musical instrument, conveyed from any other region of the globe. "
Nikola Tesla - A means for furthering Peace (1905)

"Gedanken ohne Inhalt sind leer, Anschauungen ohne Begriffe sind blind."
Immanuel Kant - Kritik der reinen Vernunft (1781)
[WWW]
andrey.oliveira
HelloWorld
[Avatar]

Membro desde: 14/05/2008 07:37:35
Mensagens: 12
Localização: São Bernardo do Campo - SP
Offline

maquiavelbona wrote:
andrey.oliveira wrote:Fazendo um cálculo rápido aqui, realmente tenho q te dar razão, a regra é válida sim... ou seja, a partir de qualquer um dos dois (MMC ou MDC) eu consigo calcular o outro...

Mas convenhamos: qual a graça (sem desmerecer a importância dessa regra)?? Afinal, o esquema é desenvolver a lógica...

Abraços!!!

Não tiro sua vontade, mas em questão de eficiência é bem legal usar os artifícios matemáticos que se tem. Assim não precisamos guardar várias maneiras de calcular as coisas.

Até!


Não tenha dúvida, vc tem toda razão. Se fosse um sistema a ser feito, eu tb usaria, não só os recursos matemáticos, como tb eventuais métodos existentes pra facilitar e fazer um desenvolvimento mais rápido. Mas um programador que se preze tb tem q ter um "quê" de matemático, ou seja, "brincar" com lógicas como essa só tem a acrescentar... eu, pelo menos, gosto bastante de desenvolver lógicas assim...

Abraços!!

"Em terra de olho, quem tem cego... errei." - Millôr Fernandes
[WWW] [MSN]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team