В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
novakk020
novakk020
22.01.2020 11:29 •  Информатика

Дано n - количество троек чисел. Затем вводятся сами тройки чисел, т.е. в каждой из n строк вводится по три натуральных числа. Выясните, какое количество троек чисел могут являться сторонами равнобедренного треугольника. Подсказка. В прямоугольном треугольнике две стороны должны быть равны. Не забудьте также проверить, а треугольник ли это, вообще. В треугольнике любая сторона меньше суммы двух других.

Решить двумя , массивом, без массива

Показать ответ
Ответ:
дима2901
дима2901
14.02.2022 11:10

Язык: Java

import java.math.BigInteger;

import java.util.ArrayList;

import java.util.Scanner;

public class Main {

   public static void main(String[] args){

       Scanner input = new Scanner(System.in);

       int n = input.nextInt();

       ArrayList<PointHolder> data = new ArrayList<>();

       System.out.println("Init for "+n);

       for(int i =0;i<n;i++){

           input = new Scanner(System.in);

           String inp = input.nextLine();

           System.out.println("Got: "+inp);

           data.add(new PointHolder(new BigInteger(inp.split(" ")[0]),

                   new BigInteger(inp.split(" ")[1]),

                   new BigInteger(inp.split(" ")[2])));

       }

       for(PointHolder holder:data){

           if(canExists(holder)){

               System.out.println("Может существовать равнобедренный треугольник со сторонами: "+holder.one + " "+holder.two+" "+holder.three);

           }

       }

   }

   public static boolean canExists(PointHolder holder){

       if(holder.one.equals(holder.two) || holder.one.equals(holder.three) || holder.two.equals(holder.three)){

           long o = holder.one.longValue();

           long t = holder.two.longValue();

           long th = holder.three.longValue();

           return (o<t+th) && (t < o+th) && (th < o+t);

       }else{

           return false;

       }

   }

}

class PointHolder{

   BigInteger one;

   BigInteger two;

   BigInteger three;

   PointHolder(BigInteger o,BigInteger t,BigInteger th){

       one=o;

       two=t;

       three=th;

   }

}

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота