Форум » Электронные таблицы » Задание 9 №117 не сходится ответ » Ответить

Задание 9 №117 не сходится ответ

les: 117) (А. Богданов). Откройте файл электронной таблицы 9-114.xls, содержащей в каждой строке три натуральных числа. Выясните, какое количество троек чисел могут являться сторонами равнобедренного треугольника. В ответе запишите только число. Для решения задачи используем следующее равенство равнобедренного треугольника: равнобедренным треугольником называют треугольник, у которого две стороны равны. Рассматриваем 3 случая: 1 сторона = 2 сторона, 1 сторона = 3 сторона, 2 сторона = 3 сторона. Далее считаем кол-во записей, в котором выполняется только 1 случай. Если бы мы рассматривали когда выполняются одновременно все 3 (или 2) случая, то это уже был бы равносторонний треугольник. В итоге у нас получается ответ 209. А правильный ответ на сайте - 229. Подскажите, пожалуйста, в чем наша ошибка.

Ответов - 3

Ж: Равносторонний треугольник является равнобедренным (трижды!!) (но, конечно же, не наоборот). так что добавьте равносторонние и , видимо, получите верный ответ.

les: Спасибо за ответ! Но если мы добавляем равносторонний, то получается ответ 54 для №118: 118) (А. Богданов). Откройте файл электронной таблицы 9-114.xls, содержащей в каждой строке три натуральных числа. Выясните, какое количество троек чисел могут являться сторонами равностороннего треугольника. В ответе запишите только число.

Ж: Получается верный ответ 229: from itertools import * s=[sorted(list(map(int,c.split()))) for c in open('c:/9-114.csv')] tr=[c for c in s if all(a<b+d for (a,b,d) in permutations(c)) and any(a==b for (a,b,d) in permutations(c)) ] print(len(tr)) Возможно, вы не рассматриваете случаи вырожденных треугольников (2,2,4) и не треугольников вовсе (1,1,5)




полная версия страницы