Ir para conteúdo

Como saber se um triangulo é valido a partir de 3 valores


RUSHyoutuber

Posts Recomendados

Bom pessoal hoje fui fazer uma questão no URI Online Judge onde eu precisava verificar se erra possivel criar 1 triangulo a partir de 3 valores! Então fui estudar matematica haha ><

 

PS: Questão do URI = 1043

 

Pra saber se o triangulo é valido é simples!

 

Você tem 3 valores A B e C

Você precisa saber qual é o maior

Depois é só verificar se a soma dos 2 menos é maior que o valor maior!

 

ou seja: SE ( Soma dos menores > maior ) = valido 

              SENÃO invalido

		Scanner leitor = new Scanner(System.in);
		double A = leitor.nextDouble();
		double B = leitor.nextDouble();
		double C = leitor.nextDouble();
		double maior;
		double soma;
		boolean triangulo;
		
		if (A > B && A > C) maior = A;
		else if (B > C) maior = B;
		else maior = C;

		if (maior == A) soma = B + C;
		else if (maior == B) soma = A + C;
		else soma = B + A;
		
		if (soma > maior) triangulo = true;
		else triangulo = false;

Espero ter ajudado! :D

Se alguem tiver alguma dica para min comente por favor!

Link para o comentário
Compartilhar em outros sites


|\

| \

| \

| \

| \ 20

8| \

| \

| \

| \

|_________\

4

 

(8 + 4) > 20 ? true : false ... isso não fala se um triangulo é valido ou não... como diz pitagoras

 

"A Raiz quadrada da soma dos catetos ao quadrado" ... no caso é H = √(CO² + CA²)

 

Jogando os valores na equação...

 

H = √(4² + 8²) =

H = √(16 + 64) =

H = √(80) =

H = 8,944.... Aproximadamente 9, isso seria um triangulo valido, e não um valor maior que a

soma dos catetos...

Link para o comentário
Compartilhar em outros sites

  |\
  | \
  |  \
  |   \
  |    \  20
 8|     \
  |      \
  |       \
  |        \
  |_________\
       4

(8 + 4) > 20 ? true : false ... isso não fala se um triangulo é valido ou não... como diz pitagoras

"A Raiz quadrada da soma dos catetos ao quadrado" ... no caso é H = √(CO² + CA²)

Jogando os valores na equação...

H = √(4² + 8²) = 
H = √(16 + 64) = 
H = √(80) = 
H = 8,944.... Aproximadamente 9, isso seria um triangulo valido, e não um valor maior que a
soma dos catetos...

 

Usei essa fonte: https://brasilescola.uol.com.br/o-que-e/matematica/o-que-e-a-condicao-existencia-um-triangulo.htm

 

pra responder essa questão: https://www.urionlinejudge.com.br/judge/pt/problems/view/1043

 

acho que você se enganou de assunto ou entendeu algo errado...

 

 

 

|\

| \

|  \

|   \

|    \  20

|8   \

|      \ 

|       \

|_4__\

          \

           \

            \

             \

              \

               \

                \

                 \

                  \

 

'-' viu não forma '-'

Editado por RUSHyoutuber
Link para o comentário
Compartilhar em outros sites

  |\
  | \
  |  \
  |   \
  |    \  20
 8|     \
  |      \
  |       \
  |        \
  |_________\
       4

(8 + 4) > 20 ? true : false ... isso não fala se um triangulo é valido ou não... como diz pitagoras

"A Raiz quadrada da soma dos catetos ao quadrado" ... no caso é H = √(CO² + CA²)

Jogando os valores na equação...

H = √(4² + 8²) = 
H = √(16 + 64) = 
H = √(80) = 
H = 8,944.... Aproximadamente 9, isso seria um triangulo valido, e não um valor maior que a
soma dos catetos...

Isso só se aplica pra triângulos retângulos, e não determina se um triângulo é válido ou não.

O requisito pra um triângulo ser válido é "a soma de quaisquer dois lados é maior que o terceiro". Ou seja, você não precisa determinar o maior deles, é só fazer:

(A + B > C && A + C > B && C + B > A)

É só pensar na diagonal do retângulo, ela vai ser sempre menor do que os dois lados.

Editado por Trademark
Link para o comentário
Compartilhar em outros sites

Usei essa fonte: https://brasilescola.uol.com.br/o-que-e/matematica/o-que-e-a-condicao-existencia-um-triangulo.htm

 

pra responder essa questão: https://www.urionlinejudge.com.br/judge/pt/problems/view/1043

 

acho que você se enganou de assunto ou entendeu algo errado...

 

 

 

|\

| \

|  \

|   \

|    \  20

|8   \

|      \ 

|       \

|_4__\

          \

           \

            \

             \

              \

               \

                \

                 \

                  \

 

'-' viu não forma '-'

 

 

Qq isso? matematica? '-'

Link para o comentário
Compartilhar em outros sites

Isso só se aplica pra triângulos retângulos, e não determina se um triângulo é válido ou não.

O requisito pra um triângulo ser válido é "a soma de quaisquer dois lados é maior que o terceiro". Ou seja, você não precisa determinar o maior deles, é só fazer:

(A + B > C && A + C > B && C + B > A)

É só pensar na diagonal do retângulo, ela vai ser sempre menor do que os dois lados.

Eu fiz desse jeito pois pra min é mais facil e convensional mas essa solução na qual você apresentou parece ser mais eficiente

Link para o comentário
Compartilhar em outros sites

Isso é java? Eu fiz um pra ver se é escaleno, inválido, isósceles ou equilátero

 

import java.util.Scanner;
 
public class Main {
public static void main(String[] args) {
Scanner read = new Scanner(System.in);
 
System.out.println("Escolha os tamanhos do triângulo!");
 
System.out.println("Para começar, escolha o tamanho do 1º lado !");
 
double lado1 = Double.parseDouble(read.nextLine());
 
System.out.println("Agora, escolha o tamanho do 2º lado !");
 
double lado2 = Double.parseDouble(read.nextLine());
 
System.out.println("Para acabar, escolha o tamanho do 3º lado !");
 
double lado3 = Double.parseDouble(read.nextLine());
 
if(lado1>=lado2+lado3 || lado2>=lado1+lado3 || lado3>=lado1+lado2 || lado1 <= 0 || lado2 <= 0 || lado3 <= 0) {
System.out.println("Triângulo inválido.");
}
else {
if(lado1 == lado2 && lado2 == lado3) {
System.out.println("Triângulo equilátero.");
}
 
else if(lado1 == lado2 || lado1 == lado3 || lado2 == lado3) {
System.out.println("Triângulo isóceles.");
}
 
else {
System.out.println("Triângulo escaleno.");
}
}
 
read.close();
 
 
}
 
 
}
Editado por Biel675
Link para o comentário
Compartilhar em outros sites

 

Isso é java? Eu fiz um pra ver se é escaleno, inválido, isósceles ou equilátero

 

import java.util.Scanner;
 
public class Main {
public static void main(String[] args) {
Scanner read = new Scanner(System.in);
 
System.out.println("Escolha os tamanhos do triângulo!");
 
System.out.println("Para começar, escolha o tamanho do 1º lado !");
 
double lado1 = Double.parseDouble(read.nextLine());
 
System.out.println("Agora, escolha o tamanho do 2º lado !");
 
double lado2 = Double.parseDouble(read.nextLine());
 
System.out.println("Para acabar, escolha o tamanho do 3º lado !");
 
double lado3 = Double.parseDouble(read.nextLine());
 
if(lado1>=lado2+lado3 || lado2>=lado1+lado3 || lado3>=lado1+lado2 || lado1 <= 0 || lado2 <= 0 || lado3 <= 0) {
System.out.println("Triângulo inválido.");
}
else {
if(lado1 == lado2 && lado2 == lado3) {
System.out.println("Triângulo equilátero.");
}
 
else if(lado1 == lado2 || lado1 == lado3 || lado2 == lado3) {
System.out.println("Triângulo isóceles.");
}
 
else {
System.out.println("Triângulo escaleno.");
}
}
 
read.close();
 
 
}
 
 
}

 

Sim isso é java.

Em vez de usar Double.ParseDouble(read.nextLine(); você pode usar apelas read.nextDouble() '-'

Link para o comentário
Compartilhar em outros sites

Participe da Conversa

Você pode postar agora e se cadastrar mais tarde. Se você tiver uma conta, a class='ipsType_brandedLink' href='https://gamersboard.com.br/login/' data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title='Sign In Now'>acesse agora para postar com sua conta.
Observação: sua postagem exigirá aprovação do moderador antes de ficar visível.

Visitante
Responder

×   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.

Processando...
×
×
  • Criar Novo...