Задача взята с сайта www.e-olymp.com
Условие задачи
Определить вид треугольника (равносторонний, равнобедренный, разносторонний) по заданным длинам его сторон.
Входные данные
В единственной строке задано [latex]3[/latex] целых числа – длины сторон треугольника. Длины сторон не превышают [latex]100[/latex].
Выходные данные
В единственной строке вывести [latex]1[/latex], если треугольник равносторонний, [latex]2[/latex] если равнобедренный и [latex]3[/latex] если разносторонний.
Код
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
import java.util.*; import java.lang.*; import java.io.*; class Main { public static void main (String[] args) throws java.lang.Exception { Scanner scanner = new Scanner(System.in); int a = scanner.nextInt(); int b = scanner.nextInt(); int c = scanner.nextInt(); int result; /*if (a == b && b == c && a == c) { System.out.print(1); } else if (a == b || b == c || a == c) { System.out.print(2); } else { System.out.print(3); }*/ result = (a == b && b == c && a == c) ? 1 : (a == b || b == c || a == c) ? 2 : 3; System.out.print(result); } } |
№ | Входные данные | Выходные данные |
1 | 3 3 3 | 1 |
2 | 3 4 3 | 2 |
3 | 3 4 5 | 3 |
Решение
Для решения задачи нам нужно уметь определять виды треугольников. Нам даны равносторонний, равнобедренный и разносторонний треугольники. У равностороннего треугольника все стороны равны, у равнобедренного равны лишь два бедра, а у разностороннего – стороны не равны.
Для начала задаем три переменные [latex]a[/latex], [latex]b[/latex] и [latex]c[/latex], которые равны сторонам треугольника. Вводим их произвольно. Для того, чтобы определить какой это треугольник мы задаем параметры :
- если [latex]a=b=c[/latex], то есть все стороны равны, то у нас равносторонний треугольник;
- если [latex]a=b[/latex] или [latex]b=c[/latex], или [latex]a=c[/latex], то есть две из трех сторон треугольника равны, то у нас равнобедренный треугольник;
- если [latex]a\neq b\neq c[/latex], стороны не равны, то у нас разносторонний треугольник.
Я засчитаю, но…
Вы заметили, что во всех Ваших ветвлениях программа осуществляет печать? В таких случаях лучше вычислить значение результата при помощи тернарной операции. Потом его напечатать.
Исправила.