鱼C论坛

 找回密码
 立即注册
查看: 4687|回复: 45

[已解决]Python:每日一题 362

[复制链接]
发表于 2020-3-29 18:45:23 | 显示全部楼层
  1. from math import sqrt, pow
  2. # S = sqrt(p(p-a)(p-b)(p-c)) when p = (a + b + c) / 2


  3. def daily362(points: list) -> int:
  4.     area = []
  5.     for i in range(len(points)):
  6.         for j in range(len(points)):
  7.             for k in range(len(points)):
  8.                 if i != j != k:
  9.                     a = get_Length(points[i], points[j])
  10.                     b = get_Length(points[j], points[k])
  11.                     c = get_Length(points[k], points[i])
  12.                     if is_Triangle([a, b, c]):
  13.                         area.append(get_Area([a, b, c]))
  14.     area.sort()
  15.     return area[-1]



  16. def get_Length(p1: list, p2: list) -> float:
  17.     return sqrt(pow(p2[1]-p1[1], 2) + pow(p2[0]-p1[0], 2))


  18. def is_Triangle(l: list) -> bool:
  19.     l.sort()
  20.     if l[0] + l[1] > l[2]:
  21.         return True
  22.     return False


  23. def get_Area(l: list) -> float:
  24.     p = (l[0] + l[1] + l[2]) / 2
  25.     return sqrt(p * (p-l[0])* (p-l[1])* (p-l[2]))
复制代码


写个最笨的,等大佬有好的思路

评分

参与人数 1荣誉 +5 鱼币 +5 收起 理由
zltzlt + 5 + 5

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-26 04:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表