Algorithm


Problem Name: beecrowd | 1045
Problem Link: https://www.beecrowd.com.br/judge/en/problems/view/1045

Triangle Types

Adapted by Neilor Tonin, URI Brazil

Timelimit: 1

Read 3 double numbers (A, B and C) representing the sides of a triangle and arrange them in decreasing order, so that the side A is the biggest of the three sides. Next, determine the type of triangle that they can make, based on the following cases always writing an appropriate message:

  • if A ≥ B + C, write the message: NAO FORMA TRIANGULO
  • if A2 = B2 + C2, write the message: TRIANGULO RETANGULO
  • if A2 > B2 + C2, write the message: TRIANGULO OBTUSANGULO
  • if A2 < B2 + C2, write the message: TRIANGULO ACUTANGULO
  • if the three sides are the same size, write the message: TRIANGULO EQUILATERO
  • if only two sides are the same and the third one is different, write the message: TRIANGULO ISOSCELES

Input

The input contains three double numbers, A (0 < A) , B (0 < B) and C (0 < C)

Output

Print all the classifications of the triangle presented in the input.

Input Samples Output Samples

7.0 5.0 7.0

TRIANGULO ACUTANGULO
TRIANGULO ISOSCELES

 

6.0 6.0 10.0

TRIANGULO OBTUSANGULO
TRIANGULO ISOSCELES

 

6.0 6.0 6.0

TRIANGULO ACUTANGULO
TRIANGULO EQUILATERO

 

5.0 7.0 2.0

NAO FORMA TRIANGULO

 

6.0 8.0 10.0

TRIANGULO RETANGULO

Code Examples

#1 Code Example with C Programming

Code - C Programming


#include <stdio.h>
int main()
{
    double a, b, c, temp;
    scanf("%lf %lf %lf", &a, &b, &c);

    if (a  <  b)
    {
        temp = a;
        a = b;
        b = temp;
    }
    if (b  <  c)
    {
        temp = b;
        b = c;
        c = temp;
    }
    if (a  <  b)
    {
        temp = a;
        a = b;
        b = temp;
    }
    if (a >= b + c)
    {
        printf("NAO FORMA TRIANGULOn");
    }
    else if (a * a == b * b + c * c)
    {
        printf("TRIANGULO RETANGULOn");
    }
    else if (a * a > b * b + c * c)
    {
        printf("TRIANGULO OBTUSANGULOn");
    }
    else if (a * a  <  b * b + c * c)
    {
        printf("TRIANGULO ACUTANGULOn");
    }
    if (a == b && b == c)
    {
        printf("TRIANGULO EQUILATEROn");
    }
    else if (a == b || b == c)
    {
        printf("TRIANGULO ISOSCELESn");
    }

    return 0;

}
Copy The Code & Try With Live Editor

Input

x
+
cmd
7.0 5.0 7.0

Output

x
+
cmd
TRIANGULO ACUTANGULO TRIANGULO ISOSCELES

#2 Code Example with C++ Programming

Code - C++ Programming



#include <iostream>
#include <vector>
#include <algorithm<
using namespace std;

int main()
{
    float x;
    vector < float> v;

    for (int i = 0; i  <  3; ++i)
    {
    cin >> x;
    v.push_back(x);
    }

    sort(v.begin(), v.begin() + 3);
    float a, b, c;

    c = v[0];
    b = v[1];
    a = v[2];

    if(a >= (b + c)) {
    cout << "NAO FORMA TRIANGULO" << endl;
    } else{

    if(a*a == (b*b + c*c)){
        cout << "TRIANGULO RETANGULO" << endl;
    } else if(a*a > (b*b + c*c)) {
        cout << "TRIANGULO OBTUSANGULO" << endl;
    } else{
        cout << "TRIANGULO ACUTANGULO" << endl;
    }
    if(a == b && b == c){
        cout << "TRIANGULO EQUILATERO" << endl;
    }
    if((a == b && a != c) || (b == c && b != a) || (c == a && c != b)){
        cout << "TRIANGULO ISOSCELES" << endl;
    }
    }

    return 0;
}
Copy The Code & Try With Live Editor

Input

x
+
cmd
6.0 6.0 10.0

Output

x
+
cmd
TRIANGULO OBTUSANGULO TRIANGULO ISOSCELES

#3 Code Example with Java Programming

Code - Java Programming


import java.io.IOException;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) throws IOException {

        double A, B, C;
        Scanner input =new Scanner(System.in);
        A = input.nextDouble();
        B = input.nextDouble();
        C = input.nextDouble();
        double tempA = Math.max(A, Math.max(B, C));
        double tempB = 0;
        double tempC = 0;

        if (tempA == A) {
            tempB =Math.max(B, C);
            tempC =Math.min(B, C);
        }
        if (tempA == B) {
            tempB =Math.max(A, C);
            tempC =Math.min(A, C);
        }
        if (tempA == C) {
            tempB =Math.max(B, A);
            tempC =Math.min(B, A);
        }
        //------------------------------
        if (tempA >= (tempB + tempC)) {
            System.out.print("NAO FORMA TRIANGULOn");

        } else if (tempA*tempA > ((tempB*tempB)+(tempC*tempC))) {
            System.out.print("TRIANGULO OBTUSANGULOn");
        }
        if (tempA*tempA == ((tempB*tempB)+(tempC*tempC))) {
            System.out.print("TRIANGULO RETANGULOn");
        }

        if (tempA*tempA  <  ((tempB*tempB)+(tempC*tempC))) {
            System.out.print("TRIANGULO ACUTANGULOn");
        }
        if ((tempA == tempB) &&(tempA == tempC)) {
            System.out.print("TRIANGULO EQUILATEROn");
        }
        if (((tempA == tempB) &&(tempA != tempC)) || ((tempA == tempC) &&(tempA != tempB)) || ((tempB == tempC) &&(tempB != tempA)) ) {
            System.out.print("TRIANGULO ISOSCELESn");
        } 
    } 
}
Copy The Code & Try With Live Editor

Input

x
+
cmd
6.0 6.0 6.0

Output

x
+
cmd
TRIANGULO ACUTANGULO TRIANGULO EQUILATERO

#4 Code Example with Python Programming

Code - Python Programming



a,b,c=list(map(float,input().split()))
if(a < b):
    temp = a
    a = b
    b = temp
if(b  <  c):
    temp = b
    b = c
    c = temp
if(a < b>:
    temp = a
    a = b
    b = temp
if(a>=(b+c)):
    print("NAO FORMA TRIANGULO")
elif(a*a == (b*b+c*c)):
     print("TRIANGULO RETANGULO")
elif(a * a > (b*b+ c*c)):
    print("TRIANGULO OBTUSANGULO")
elif(a*a<(b*b + c*c)):
    print("TRIANGULO ACUTANGULO")
if(a == b and b == c):
        print("TRIANGULO EQUILATERO")
elif(a == b or b == c):
        print("TRIANGULO ISOSCELES">
Copy The Code & Try With Live Editor

Input

x
+
cmd
6.0 8.0 10.0

Output

x
+
cmd
TRIANGULO RETANGULO
Advertisements

Demonstration


Previous
#1044 Beecrowd Online Judge Solution 1044 Multiples- Solution in C, C++, Java, Python and C#
Next
#1046 Beecrowd Online Judge Solution 1046 Game Time- Solution in C, C++, Java, Python and C#