URI Online Judge | 1045Timelimit: 1
Tipos de Triângulos
Adaptado por Neilor Tonin, URI
Brasil
BrasilLeia 3 valores de ponto flutuante A, B e C e ordene-os em ordem decrescente, de modo que o lado A representa o maior dos 3 lados. A seguir, determine o tipo de triângulo que estes três lados formam, com base nos seguintes casos, sempre escrevendo uma mensagem adequada:
- se A ≥ B+C, apresente a mensagem: NAO FORMA TRIANGULO
- se A2 = B2 + C2, apresente a mensagem: TRIANGULO RETANGULO
- se A2 > B2 + C2, apresente a mensagem: TRIANGULO OBTUSANGULO
- se A2 < B2 + C2, apresente a mensagem: TRIANGULO ACUTANGULO
- se os três lados forem iguais, apresente a mensagem: TRIANGULO EQUILATERO
- se apenas dois dos lados forem iguais, apresente a mensagem: TRIANGULO ISOSCELES
Entrada
A entrada contem três valores de ponto flutuante de dupla precisão A (0 < A) , B (0 < B) e C (0 < C).
Saída
Imprima todas as classificações do triângulo especificado na entrada.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
double A = entrada.nextDouble(), B = entrada.nextDouble(), C = entrada.nextDouble();
double AA = Math.max(A, Math.max(B, C));
double BB = 0;
double CC = 0;
// inicio do max e min
if (AA == A) {
BB = Math.max(B, C);
CC = Math.min(B, C);
}
if (AA == B) {
BB = Math.max(A, C);
CC = Math.min(A, C);
}
if (AA == C) {
BB = Math.max(B, A);
CC = Math.min(B, A);
}
// fim do max ou min
if (AA >= (BB + CC)) {
System.out.print("NAO FORMA TRIANGULO\n");
} else if (AA * AA > ((BB * BB) + (CC * CC))) {
System.out.print("TRIANGULO OBTUSANGULO\n");
}
if (AA * AA == ((BB * BB) + (CC * CC))) {
System.out.print("TRIANGULO RETANGULO\n");
}
if (AA * AA < ((BB * BB) + (CC * CC))) {
System.out.print("TRIANGULO ACUTANGULO\n");
}
if ((AA == BB) && (AA == CC)) {
System.out.print("TRIANGULO EQUILATERO\n");
}
if (((AA == BB) && (AA != CC)) || ((AA == CC) && (AA != BB)) || ((BB == CC) && (BB != AA))) {
System.out.print("TRIANGULO ISOSCELES\n");
}
}
}
public class Main {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
double A = entrada.nextDouble(), B = entrada.nextDouble(), C = entrada.nextDouble();
double AA = Math.max(A, Math.max(B, C));
double BB = 0;
double CC = 0;
// inicio do max e min
if (AA == A) {
BB = Math.max(B, C);
CC = Math.min(B, C);
}
if (AA == B) {
BB = Math.max(A, C);
CC = Math.min(A, C);
}
if (AA == C) {
BB = Math.max(B, A);
CC = Math.min(B, A);
}
// fim do max ou min
if (AA >= (BB + CC)) {
System.out.print("NAO FORMA TRIANGULO\n");
} else if (AA * AA > ((BB * BB) + (CC * CC))) {
System.out.print("TRIANGULO OBTUSANGULO\n");
}
if (AA * AA == ((BB * BB) + (CC * CC))) {
System.out.print("TRIANGULO RETANGULO\n");
}
if (AA * AA < ((BB * BB) + (CC * CC))) {
System.out.print("TRIANGULO ACUTANGULO\n");
}
if ((AA == BB) && (AA == CC)) {
System.out.print("TRIANGULO EQUILATERO\n");
}
if (((AA == BB) && (AA != CC)) || ((AA == CC) && (AA != BB)) || ((BB == CC) && (BB != AA))) {
System.out.print("TRIANGULO ISOSCELES\n");
}
}
}
Nenhum comentário:
Postar um comentário