目录
- 1. 题目:
- 2. 我的代码:
- 小结:
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:continuek = (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)
小结:
关注我给大家分享更多有趣的知识,以下是个人公众号,提供 ||代码兼职|| ||代码问题求解||
添加我的公众号即可: