0
点赞
收藏
分享

微信扫一扫

hideNsneak:一款功能强大的渗透测试基础设施管理工具

目录

1. 题目:

在这里插入图片描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

在平面直角坐标系中,两点可以确定一条直线。如果有多点在一条直线上,那么这些点中任意两点确定的直线是同一条。

给定平面上 2x3个整点(x,y)0 ≤x< 2,0≤y<3,r€Z,y€Z,即橫坐标是0到1(包含 0和 1)之间的整数、纵坐标是0到2(包含0和 2)之间的整数的点。这些点一共确定了 11 条不同的直线。

给定平面上 20 x21 个整点(æ,y)0 ≤x<20,0≤y<21,x€Z,y€Z,即横坐标是0到 19(包含 0和 19)之间的整数、纵坐标是0到 20(包含 0 和 20)之 间的整数的点。

请问这些点一共确定了多少条不同的直线。

2. 我的代码:

import os
import sys

# 暴力求解
points = [[x, y] for x in range(0, 20) for y in range(0, 21)]

set_result = set()

for p_1 in range(len(points)):
  for p_2 in range(p_1 + 1, len(points)):
      point_1 = points[p_1]
      point_2 = points[p_2]
      if point_1[0] - point_2[0] == 0:
          continue
      k = (point_1[1] - point_2[1]) / (point_1[0] - point_2[0])
      y0 = (point_2[0] * point_1[1] - point_1[0] * point_2[1]) / (point_2[0] - point_1[0])

      set_result.add((k, y0))

print(len(set_result) + 20)

小结:

举报

相关推荐

0 条评论