quarta-feira, 3 de outubro de 2018

URI PROBLEMA 1045 - Tipos de Triângulos SOLUÇÃO EM JAVA

URI Online Judge | 1045

Tipos de Triângulos

Adaptado por Neilor Tonin, URI  Brasil
Timelimit: 1
Leia 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");
        }
    }

}

Nenhum comentário:

Postar um comentário

URI PROBLEMA 1133 - Resto da Divisão SOLUÇÃO EM C

URI Online Judge | 1133 Resto da Divisão Adaptado por Neilor Tonin, URI   Brasil Timelimit: 1 Escreva um programa que leia 2 valo...