Duvida com Matematica na programação  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
Java+Eclipse
Smalltalk
[Avatar]

Membro desde: 19/05/2008 05:16:15
Mensagens: 4
Offline

Bom Dia galera.

Apesar de ser novato aqui, tenho muitas duvidas.

Gostaria de saber como criar um programa simples para calcular o MDC(x,y) e verificar se esse numero que retornou é par.

Clareando as ideias

maquiavelbona
Forum Spammer
[Avatar]

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

Álgebra I -> divisibilidade -> MDC e MMC -> Algoritmo de Euclides

Apesar de ser um algoritmo de fácil compreensão, não é trivial. Na Wikipedia tem uma explicação e uma implementação mas eu aconselharia fazê-la sem ser recursiva para aprender. Acho que isso mata boa parte dos seus problemas, já que você já sabe ver se um número é par ou não.

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]
fantomas
JavaBaby
[Avatar]

Membro desde: 24/04/2008 16:10:55
Mensagens: 97
Offline

Oi Java + Eclipse,

Se entendi bem, acho q a recursividade será a melhor maneira de resolver esse problema, porém concordo com o maquavelbona. Se vc optar pela recursão, faça um estudo desta técnica a parte até entender e dominar, depois aplique no exercicio.
Se a coisa complicar muito post de novo.

[]'s
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 11123
Localização: SP
Offline

No meu tempo aprendia-se MMC e MDC no ensino fundamental (lá pela 6ª ou 7ª série do primeiro grau, como se dizia naquele tempo). O algoritmo usado era o de Euclides, e você não precisa fazê-lo recursivamente; se souber fazê-lo em lápis e papel, é realmente muito simples.

[WWW]
maquiavelbona
Forum Spammer
[Avatar]

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

thingol wrote:No meu tempo aprendia-se MMC e MDC no ensino fundamental (lá pela 6ª ou 7ª série do primeiro grau, como se dizia naquele tempo). O algoritmo usado era o de Euclides, e você não precisa fazê-lo recursivamente; se souber fazê-lo em lápis e papel, é realmente muito simples.


Na minha época ensinaram por fatoração. O Kumon que ensina hoje em dia pelo Algoritmo de Euclides.

Até!
[WWW]
andrey.oliveira
HelloWorld
[Avatar]

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

Uma implementação possível:



Essa implementação é baseada em uma das soluções proposta na Wikipedia (http://pt.wikipedia.org/wiki/Mdc), de como calcular o MDC de dois números, e foi feito da forma recursiva.

"Em terra de olho, quem tem cego... errei." - Millôr Fernandes
[WWW] [MSN]
Java+Eclipse
Smalltalk
[Avatar]

Membro desde: 19/05/2008 05:16:15
Mensagens: 4
Offline

Valeu galera, vou dar uma olhadinha aqui

vlw
Bruno Laturner
Virtual Machine Man

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

Provavelmente a maneira mais simples:

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
maquiavelbona
Forum Spammer
[Avatar]

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

Bruno Laturner wrote:Provavelmente a maneira mais simples:

E provalmente você não aprendeu nada.
Esse tipo de questão em geral é coisa de faculdade e não se pode usar essas 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]
Bruno Laturner
Virtual Machine Man

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

maquiavelbona wrote:E provalmente você não aprendeu nada.
Esse tipo de questão em geral é coisa de faculdade e não se pode usar essas coisas.

Ver código fonte é para essas coisas.

Lá da pra ver que eles implementam o algorítmo de euclides. Ate fazem referência de sua implementação à "Algorithm B from Knuth section 4.5.2". Daí basta caçar o livro do Knuth.

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: 11
Localização: São Bernardo do Campo - SP
Offline

Sem querer desmerecer a resposta, nem puxar a sardinha pro meu lado, usando gcd facilita a coisa demais... e a lógica, onde fica??? Numa faculdade, usar um esquema desses é pedir pra tirar um zero bonito...

Mas tá valendo, pelo menos a gente fica sabendo q tem a forma mais fácil de fazer a coisa...

Abraços!!!

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

Membro desde: 11/05/2008 20:00:45
Mensagens: 24
Offline

Tem razão, não esqueço de um cara aqui na faculdade, em plena aula de recursão, num exercício simples de fatorial, o cara estava se matando para encontrar uma tal feunção Fib pronta...
andrey.oliveira
HelloWorld
[Avatar]

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

Fibonacci é outra lógica q os professores de faculdade adoram...

Parece ser complicada, mas na verdade é só verificar q o valor atual vai ser a soma dos dois anteriores na sequência e montar a lógica...

Pra quem não lembra, Fibonacci é uma sequência que começa com 0 e 1, e o próximo número é sempre a soma dos dois anteriores... algo como:

0,1,1,2,3,5,8,13,21,34,...

Abraços!!!

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

Membro desde: 01/04/2008 21:08:28
Mensagens: 117
Offline

andrey.oliveira wrote:Fibonacci é outra lógica q os professores de faculdade adoram...

Parece ser complicada, mas na verdade é só verificar q o valor atual vai ser a soma dos dois anteriores na sequência e montar a lógica...

Pra quem não lembra, Fibonacci é uma sequência que começa com 0 e 1, e o próximo número é sempre a soma dos dois anteriores... algo como:

0,1,1,2,3,5,8,13,21,34,...

Abraços!!!


Seria legal fazer um algoritmo desse.. nao é certeza de conseguir mas valeu cara, voce me deu uma ideia

Abraços
Andre Brito
Virtual Machine Man
[Avatar]

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

maquiavelbona wrote:Álgebra I -> divisibilidade -> MDC e MMC -> Algoritmo de Euclides

Apesar de ser um algoritmo de fácil compreensão, não é trivial.
Até!


Isso me lembra o Algoritmo de Kruskal
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team