Вопрос задан 16.06.2023 в 21:36. Предмет Информатика. Спрашивает Орчинский Влад.

Дано n - количество троек чисел. Затем вводятся сами тройки чисел, т.е. в каждой из n строк

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

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Кутявина Аня.

Ответ:

Язык: 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
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Задача

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

Решение с использованием массива

Начнем с создания массива для хранения троек чисел. Затем будем проверять каждую тройку чисел на соответствие условиям равнобедренного треугольника.

1. Создадим массив для хранения троек чисел. 2. Вводим количество троек чисел. 3. В цикле заполняем массив тройками чисел. 4. В цикле проходим по каждой тройке чисел и проверяем условие равнобедренного треугольника. - Проверяем, что первое и второе число равны, или первое и третье число равны, или второе и третье число равны. - Проверяем, что треугольник существует, то есть любая сторона должна быть меньше суммы двух других сторон. - Если условия выполняются, увеличиваем счетчик равнобедренных треугольников. 5. Выводим количество найденных равнобедренных треугольников.

Решение без использования массива

В этом случае необходимо провести проверки на равнобедренность и существование треугольника непосредственно при вводе каждой тройки чисел.

1. Вводим количество троек чисел. 2. В цикле запрашиваем тройку чисел и проверяем условие равнобедренного треугольника. - Проверяем, что первое и второе число равны, или первое и третье число равны, или второе и третье число равны. - Проверяем, что треугольник существует, то есть любая сторона должна быть меньше суммы двух других сторон. - Если условия выполняются, увеличиваем счетчик равнобедренных треугольников. 3. Выводим количество найденных равнобедренных треугольников.

Пример решения на Python с использованием массива

```python n = int(input("Введите количество троек чисел: ")) triangles = []

for i in range(n): numbers = list(map(int, input("Введите тройку чисел через пробел: ").split())) triangles.append(numbers)

count = 0

for triangle in triangles: if (triangle[0] == triangle[1] or triangle[0] == triangle[2] or triangle[1] == triangle[2]) and \ (triangle[0] + triangle[1] > triangle[2] and triangle[0] + triangle[2] > triangle[1] and triangle[1] + triangle[2] > triangle[0]): count += 1

print("Количество равнобедренных треугольников:", count) ```

Пример решения на Python без использования массива

```python n = int(input("Введите количество троек чисел: ")) count = 0

for i in range(n): a, b, c = map(int, input("Введите тройку чисел через пробел: ").split()) if (a == b or a == c or b == c) and (a + b > c and a + c > b and b + c > a): count += 1

print("Количество равнобедренных треугольников:", count) ```

Оба решения дают одинаковый результат и позволяют определить количество троек чисел, которые могут являться сторонами равнобедренного треугольника.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос