蓝桥杯真题代码记录(直线

简介: 蓝桥杯真题代码记录(直线

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)

目录
相关文章
|
6月前
|
网络安全 数据安全/隐私保护 计算机视觉
2024蓝桥杯网络安全-图片隐写-缺失的数据(0基础也能学会-含代码解释)
2024蓝桥杯网络安全-图片隐写-缺失的数据(0基础也能学会-含代码解释)
|
6月前
蓝桥杯真题代码记录(卡片
蓝桥杯真题代码记录(卡片
50 0
|
6月前
蓝桥杯真题代码记录(最优清零方案
蓝桥杯真题代码记录(最优清零方案
63 0
|
6月前
蓝桥杯真题代码记录(蜂巢
蓝桥杯真题代码记录(蜂巢
43 0
|
6月前
蓝桥杯真题代码记录(数位排序
蓝桥杯真题代码记录(数位排序
44 0
|
6月前
蓝桥杯真题代码记录(纸张尺寸
蓝桥杯真题代码记录(纸张尺寸
38 0
|
6月前
|
人工智能 算法 Java
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-992 士兵杀敌(二)
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-992 士兵杀敌(二)
80 1
|
6月前
|
人工智能 算法 Java
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1005 数字游戏
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1005 数字游戏
109 0
|
6月前
|
Java C语言 C++
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1000 kAc给糖果你吃
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1000 kAc给糖果你吃
82 0
|
6月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-999 数的潜能
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-999 数的潜能
83 0