Ir ao conteúdo
  • Cadastre-se

Resolver problema de Matemática com Java


Posts recomendados

Fala ai pessoal, tava tentando resolver um exercício de matemática com java, será que é possível?

Segue o exercício:
- Um homem gastou tudo o que tinha no bolso em três lojas, em cada uma gastou 1 real a mais do que a metade do que tinha ao entrar, quanto o homem tinha ao entrar na primeira loja?

Já estabeleci algumas condições,sendo:
T o total do dinheiro que ele tinha
n1 o quanto ele gastou na primeira loja, n2 na segunda e n3 na terceira.
Então:
T = n1 + n2 + n3
n1 = (T/2) + 1
n2 = (T - n1)/2 + 1
n3 = (T - n1 - n2)/2 + 1

A partir dai já não sei como colocar isso em prática, no código. Enfim, vocês tem alguma sugestão?

Link para o comentário
Compartilhar em outros sites

  • Moderador

@Rafapunch Bom.. primeiramente isso é uma tarefa sua!  Descobrir como faz... possível é... mas ninguém aqui fará o exercício a não ser que você tome a iniciativa e postar alguma tentativa de resolução.. mesmo que errado.  Qualquer um pode reescrever o código errado em conjunto de comentários explicativos... de onde estava o erro.

Link para o comentário
Compartilhar em outros sites

@dif Aqui vai:

package problemaresolucao;
public class ProblemaResolucao {
    public static void main(String[] args) {
        int T = 0;
        int n1 = (T/2) + 1;
        int n2 = (T - n1)/2 + 1;
        int n3 = (T - n1 - n2)/2 + 1; 
        int condition = n1 + n2 + n3;
        while (T == condition) {
          T++;
          System.out.println("Ainda não" + T);
        }
            
    }
}

Tinha tentado dessa maneira, e o resultado tá dando 3, sendo que a resposta certa é 14. Antes de tentar mexer no código, tentei dar arrumar um jeito de fazer com que o resultado apareça na tela, mas ai começou a dar erro :huh:

 

package problemaresolucao;
public class ProblemaResolucao {
    public static void main(String[] args) {
        int T = 0;
        int n1 = (T/2) + 1;
        int n2 = (T - n1)/2 + 1;
        int n3 = (T - n1 - n2)/2 + 1; 
        int condition = n1 + n2 + n3;
        while (T != condition) {
          T++;
          if (T == condition) {
              System.out.println("O Resultado é:" + T);
          }
          }
        }
            
    }
}

Agora arrumei 2 problemas :/

Link para o comentário
Compartilhar em outros sites

@dif Resolvi o segundo problema que tava ocorrendo, era uma chave a mais no código, pensei que para as divisões não gerarem resto, teria que utilizar variáveis float, só que agora o programa nem finaliza mais... Segue o código:

package problemaresolução;
public class ProblemaResolução {
    public static void main(String[] args) {
        float T = 0;
        float n1 = (T/2) + 1;
        float n2 = (T - n1)/2 + 1;
        float n3 = (T - n1 - n2)/2 + 1; 
        float condition = n1 + n2 + n3;
        while (T != condition) {
          ++T;
          }
        if (T == condition) {
            System.out.println("A resposta correta é:" + T);
        }
        }   
    }
Link para o comentário
Compartilhar em outros sites

@dif Consegui!

 

Segue o código:

 

package problemaresolucao;
public class ProblemaResolucao {
    
    public static void main(String[] args) {
        float T = 0;
        float n1, n2, n3;
        n1 = (T/2) + 1;
        n2 = (T - n1)/2 + 1;
        n3 = (T - n1 - n2)/2 + 1; 
        float condition = n1 + n2 + n3;
        while (T != condition) {
        T++;
        n1 = (T/2) + 1;
        n2 = (T - n1)/2 + 1;
        n3 = (T - (n1 + n2))/2 + 1; 
        condition = n1 + n2 + n3;
          }
            System.out.println("A resposta correta é:" + T);
        }   
    }

Dava pra deixar ele mais limpo, pensei em utilizar funções pra não digitar duas vezes as operações com n1, n2 e n3. Mas ai mexeu com os escopos das variáveis e me embolei, mas é isso. Pode fechar o tópico, obrigado pelo toque de como as regras funcionam por aqui!

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...