当前位置:实例文章 » 其他实例» [文章]1046 Shortest Distance (PAT甲级)

1046 Shortest Distance (PAT甲级)

发布人:shili8 发布时间:2025-01-30 05:07 阅读次数:0

**1046 Shortest Distance**

**题目描述**

给定两个点的坐标,求出这两点之间的最短距离。

**输入输出格式**

* 输入:两个点的坐标(x1, y1)和(x2, y2),分别表示为两个整数。
* 输出:这两点之间的最短距离。

**解决方案**

我们可以使用欧几里得距离公式来求出这两点之间的距离。欧几里得距离是指从一个点到另一个点的直线距离。

欧几里得距离公式为:

√((x2 - x1)^2 + (y2 - y1)^2)

我们可以使用以下代码来计算这个距离:

import mathdef shortest_distance(x1, y1, x2, y2):
 # 计算欧几里得距离 distance = math.sqrt((x2 - x1)**2 + (y2 - y1)**2)
 return distance# 测试代码print(shortest_distance(0,0,3,4)) # 输出:5.0


**注释**

* `import math`:导入数学模块,用于计算平方根。
* `def shortest_distance(x1, y1, x2, y2):`:定义一个函数来计算距离。
* `distance = math.sqrt((x2 - x1)**2 + (y2 - y1)**2)`:使用欧几里得距离公式计算距离。
* `return distance`:返回计算出的距离。

**扩展**

我们可以将这个函数应用于多个点的坐标,求出这些点之间的最短距离。例如:

def shortest_distance(x1, y1, x2, y2):
 # 计算欧几里得距离 distance = math.sqrt((x2 - x1)**2 + (y2 - y1)**2)
 return distance# 测试代码points = [(0,0), (3,4), (6,8)]
distances = []
for i in range(len(points)):
 for j in range(i+1, len(points)):
 x1, y1 = points[i]
 x2, y2 = points[j]
 distance = shortest_distance(x1, y1, x2, y2)
 distances.append((x1, y1, x2, y2, distance))

# 输出结果for point in distances:
 print(f"点({point[0]}, {point[1]}) 和 点({point[2]}, {point[3]}) 之间的距离为:{point[4]}")


**总结**

本文介绍了如何使用欧几里得距离公式来计算两个点之间的最短距离。我们提供了一个Python函数来实现这个功能,并展示了如何应用该函数于多个点的坐标。

相关标签:算法c++开发语言
其他信息

其他资源

Top