Найти - Пользователи
Полная версия: Задача про подобные треугольники
Начало » Центр помощи » Задача про подобные треугольники
1
dingo
Во входном файле даны 9 сторон
В выходной файл в 1 строке записать 3 стороны одного подобного треугольника во 2 строке записать 3 стороны другого треугольника
Помогите пожалуйста решить!
FishHook
dingo
Во входном файле даны 9 сторонВ выходной файл в 1 строке записать 3 стороны одного подобного треугольника во 2 строке записать 3 стороны другого треугольникаПомогите пожалуйста решить!
Дайте решение задачи в блок-схемах или псевдокоде или на любом другом языке, которым владеете.
dingo
Есть решение перебором но это полный говнокод , который даже стыдно выкладывать
doza_and
dingo
даны 9 сторон
Потом пишем 2 строки по 3 стороны. Куда еще 3 стороны девались? Условие непонятно.

Может так?
даны длины 9 отрезков. Составить из этих отрезков 2 подобных невырожденых треугольника и выписать длины их сторон в две строки первая для первого треугольника вторая для второго.
adray
from itertools import combinations
...
sides = {'a':a,...} # стороны
triangles = filter(is_triangle, combinations(sides,3))
pairs = filter(is_pair, combinations(triangles,2))
similar_triangles = filter(are_similar, pairs)

Осталось только дописать функции is_triangle, is_pair, are_similar.
dingo
Вот doza_and правильно сказал
Дружище можешь помочь написать ее всю, а то я уже давно не программировал почти все забыл
А так может даже вспомню
py.user.next
adray
Осталось только дописать функции is_triangle, is_pair, are_similar.
в коде одна сторона может использоваться в разных треугольниках одновременно
adray
py.user.next
в коде одна сторона может использоваться в разных треугольниках одновременно
Да, поэтому там есть фильтр по is_pair, где должна проверяться уникальность граней, которые хранятся в словаре.
def is_pair(pair):
   return len(set(pair[0]).union(pair[1])) == 6

А вот треугольники в словарь я перевести забыл:
triangles = map(dict, filter(is_triangle, combinations(sides.items(),3)))
py.user.next
adray
Да, поэтому там есть фильтр по is_pair
эту я просмотрел, не обратил внимание
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB