数学公式——蓝桥杯赛题

题目信息

解题代码

def isintersect(k1, b1, k2, b2):# 如果两条直线的斜率不相等,则它们必定相交if k1 != k2:return Trueelse:return False# 定义一个函数getpoint,用于计算两条直线交点的坐标
def getpoint(k1, b1, k2, b2):# 使用直线交点公式计算交点的x坐标x = (b2 - b1) / (k1 - k2)# 使用直线交点公式计算交点的y坐标y = (k2 * b1 - k1 * b2) / (k2 - k1)# 返回交点的坐标return (x, y)# 定义一个函数isin,用于判断一个点是否在直线上
def isin(x0, y0, k, b):# 如果点的坐标满足直线方程,则该点在直线上if y0 == k * x0 + b:return Trueelse:return False# 从用户那里获取一个整数N,表示接下来要输入的直线数量
N = int(input())
# 初始化一个列表li,用于存储用户输入的直线的斜率和截距
li = [list(map(int, input().split())) for i in range(N)]
# 初始化一个空列表exits,用于存储已经处理过的直线
exits = []# 初始化一个变量res,用于存储最终结果
res = 1
# 遍历每一条直线
for item in li:# 初始化一个空列表points,用于存储当前直线与其他直线交点的坐标points = []# 如果当前直线已经在exits列表中,则跳过if item in exits:continue# 遍历exits列表中的每一条直线for e in exits:# 如果当前直线与exits列表中的某一条直线相交if isintersect(item[0], item[1], e[0], e[1]):# 计算交点坐标new = getpoint(item[0], item[1], e[0], e[1])# 如果交点不在points列表中,则添加到points列表if new not in points:points.append(new)# 更新res变量,加上当前直线的交点数量加1(自身)res += (len(points) + 1)# 将当前直线添加到exits列表中exits.append(item)# 打印最终结果
print(res)

数学相关知识

这段Python代码定义了一个名为getpoint的函数,用于计算两条直线的交点坐标。函数接受四个参数:两条直线的斜率(k1k2)和截距(b1b2)。代码中的数学部分对应于两条直线相交时交点坐标的直接计算公式,具体如下:

对于两条直线:

要找它们的交点,即找到满足两条直线方程的相同一对x和y值。将两个方程设置相等:

接下来,通过代数操作解出交点的x坐标:

这是代码中的第一部分:

1x = (b2 - b1) / (k1 - k2)

一旦得到x值,将其代入任意一条直线方程即可求得对应的y坐标。这里选择第一条直线方程:

将求得的x值代入:

简化得:

这是代码中的第二部分:

y = (k2 * b1 - k1 * b2) / (k2 - k1)

最后,函数返回交点坐标:

1return (x, y)

综上所述,这段代码实现了数学公式中两条直线相交时交点坐标的直接计算,对应于将两条直线方程设为相等并求解的过程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/787257.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

快速安装sudachipy日语包

1、前往 https://rustup.rs 下载并安装 Rustup Linux系统可直接运行以下命令 Window系统需要去网站下载exe包 curl --proto https --tlsv1.2 -sSf https://sh.rustup.rs | sh2、安装 Rust 编译器 rustup install stable3、设置默认版本 rustup default stable4、重新安装 …

电机的工作电流怎么计算?

电机的工作电流计算通常需要考虑多个因素,包括电机的额定功率、工作电压、效率以及负载情况等。以下是一个基本的计算方法,用于估算直流电机或交流电机在特定条件下的工作电流。 了解电机参数 额定功率 (P_rated) 电机的额定功率是指在额定工作条件下&am…

基于Websocket的局域网聊天系统

1.1 研究背景及意义 本项目所对应领域的研究背景及意义[1]。新冠肺炎局域网通信发生以来,大数据、云计算、人工智能等新一代信息技术加速与交通、局域网通信、教育、金融等领域深度融合,让局域网通信防控的组织和执行更加高效,成为战“疫”的…

Spring源码基础解析

这里写目录标题 Spring从哪开始?Spring的基本运行BeanFactoryPostProcessor与BeanPostProcessor的区别BeanFactoryPostProcessor用来处理bean的定义信息BeanDefinitionBeanPostProcessor用来处理Bean对象(包含实例化与初始化) Environment Sp…

jQuery基础知识:入门、应用与未来发展

随着互联网技术的不断发展,前端开发技术也日新月异。在众多前端框架和库中,jQuery凭借其简洁、易用的特性,一直受到广大开发者的青睐。本文将带您走进jQuery的世界,从基础知识讲起,探讨其应用场景,并展望其…

Mac下Docker Desktop starting的解决方法

记录下自己在新增了一个新的容器后,Disk Size过大导致启动Docker Desktop会一直卡在Docker Desktop starting,并且重启无效的解决方法。该方法无需重新卸载,并且能保留原有的镜像和容器。 一、确认问题 首先确认Docker.raw大小以确认是否和笔…

算法3:查找算法

查找算法 常用查找算法 1,顺序(线性)查找 2,二分查找/折半查找 3,插值查找 4,斐波那契查找 线性查找 线性查找,通过遍历和逐一比对,在发现相同值时返回下标 代码如下 public int Seqsearch(int t, int[] arr) {for (int i 0; i < arr.length; i) {if (t arr[i]) …

前端开发学习笔记 1 (基础概念、HTML5基础、前端开发工具VSCode基本介绍)

文章目录 基础概念篇网页相关的基础概念浏览器和浏览器内核Web标准 HTML5基础HTML的基本语法规范HTML文件基本结构标签文档类型声明标签、文件语言和字符集类型标题标签、段落标签和换行标签文本格式化标签两种容器标签图像标签超链接相关HTML中的注释和特殊字符表格标签列表标…

manacher算法

回文串的性质 回文串类似于ABA&#xff0c;ABCBA,AABBAA等的对于i具有s[i]s[n!-i]的字符串。 回文半径&#xff1a;对于一个回文中心i&#xff0c;如果它的半径为r&#xff0c;如果它为奇数长度的回文串的中心&#xff0c;则说明[ir1,ir-1]为一个回文串。如果i是偶数长度的回…

算法练习----力扣每日一题------4

原题链接 2810. 故障键盘 - 力扣&#xff08;LeetCode&#xff09; 解析&#xff1a; 新建字符串ret,遍历原始字符串遇到i翻转字符串&#xff0c;否则尾插 class Solution { public:string finalString(string s) {string ret;for(auto e : s){if(e i)reverse(ret.begin(),re…

33.Python从入门到精通—Python3 正则表达式 re.match函数 re.search方法 re.match与re.search的区别

33.从入门到精通&#xff1a;Python3 正则表达式 re.match函数 re.search方法 re.match与re.search的区别 Python3 正则表达式re.match函数re.search方法re.match与re.search的区别 Python3 正则表达式 在 Python3 中&#xff0c;可以使用 re 模块来进行正则表达式的匹配和处理…

xtrabackup2.4

xtrabackup2.4只能备份5.*版本 [rootk8s-131 src]# mysql -V mysql Ver 14.14 Distrib 5.7.35, for linux-glibc2.12 (x86_64) using EditLine wrapper [rootk8s-131 src]# ll total 658516 -rw-r--r--. 1 7161 31415 666328842 Jun 7 2021 mysql-5.7.35-linux-glibc2.12-x…

最新版弹幕播放器源码,带后台

最新版弹幕播放器源码&#xff0c;带后台 测试正常分享&#xff0c;祝你使用愉快 弹幕后台、前置广告、暂停广告&#xff0c;记忆回放&#xff0c;自动下一集 支持&#xff1a;.m3u8、.mp4、.flv、等常见视频格式&#xff0c;兼容&#xff1a;电脑、手机端 源码截图&#xf…

【新手适用】手把手教你从零开始实现一个基于Pytorch的卷积神经网络CNN三: 如何验证和测试模型

【新手适用】手把手教你从零开始实现一个基于Pytorch的卷积神经网络CNN二&#xff1a; 如何训练模型&#xff0c;内附详细损失、准确率、均值计算-CSDN博客 从零开始实现一个基于Pytorch的卷积神经网络 - 知乎 (zhihu.com) 1 初始化、导入模型和数据集 新建一个test.py文件&a…

JS中字符串常用方法(持续更新中)

1.charAt()方法 charAt() 方法可返回字符串中指定位置的字符。 let str "Hello"; let s str.charAt(1); console.log(s);//e 语法&#xff1a;string.charAt(index) index 必需值。表示字符串中某个位置的数字&#xff0c;即字符在字符串中的位置。 2.concat()…

基于springboot+vue+Mysql的火车订票管理系统

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

uniapp 开发之原生Android插件

开发须知 在您阅读此文档时&#xff0c;我们假定您已经具备了相应Android应用开发经验&#xff0c;使用Android Studio开发过Android原生。也应该对HTML,JavaScript,CSS等有一定的了解, 并且熟悉在JavaScript和JAVA环境下的JSON格式数据操作等。 为了插件开发者更方便快捷的开…

pyside6/pyqt5/pyside2/pyqt6绘制图形

虽然可以在 PySide6 中嵌入 matplotlib 图&#xff0c;但这种体验并不完全是原生的。对于简单且高度交互的绘图&#xff0c;您可能需要考虑改用 PyQtGraph。PyQtGraph 建立在 PySide6 原生 QGraphicsScene 之上&#xff0c;提供更好的绘图性能&#xff0c;特别是对于实时数据&a…

试过了,ChatGPT确实不用注册就可以使用了!

看到官网说不用登录也可以直接使用ChatGPT 我们来试一下 直接打开官网 默认是直接进入了chatgpt3.5的聊天界面 之前是默认进的登录页面 聊一下试试 直接回复了&#xff0c;目前属于未登录状态&#xff0c;挺好&#xff01; 来试下ChatGPT4 跳转到了登录页面 目前来看gpt4还…

JavaScript和SQL Server库的区别总结

目录 背景: JavaScript概述: SQL Server库概述 JavaScript与SQL Server库的主要区别: 总结: 背景: 在Web开发的广阔领域中&#xff0c;JavaScript和SQL Server库各自扮演着不可或缺的角色。虽然它们都是用于构建强大且功能丰富和Web应用程序的工具&#xff0c;但它们在功…