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

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

kirillefimov1 kirillefimov1    2   14.02.2022 11:05    3

Ответы

Язык: 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;

   }

}

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика