题解 P2026 【求一次函数解析式】
高中方式轻松解决这个模拟题。
首先我们了解斜率的简单求法:
\[k= {y2-y1 \over x2-x1}{=}{\Delta y \over \Delta x}\]
然后我们了解到让我们求解一次函数解析式(斜截式),就是说\(k\)值一定存在!
所以这个题我们可以用点斜式解决。
点斜式又是什么?
\[y-y1=k(x-x1)\]
条件:基于k值和点\((x1,y1)\)
好,这样就能求。
我们再推导一下,把点斜式化成斜截式:
\[\because y-y1=k\cdot x-k\cdot x1\]
\[\therefore y=k\cdot x+(y1-k\cdot x1)\]
\[\therefore b=y1-k\cdot x1 \]
不多说,k和b都有可能是分数。
但是我们有黑科技gcd啊!这里安利递推gcd。
inline int gcd(int a,int b)
{while (b!=0){int c=b;b=a%b;a=c;}return a;
}
因为输入的数据都是整数,所以我们不用担心b通分的毒瘤问题。
\[\because k={\Delta y\over \Delta x}\space\space\space\space\therefore b={y1\cdot \Delta x-\Delta y\cdot x1\over \Delta x}\]
好!接下来大家都知道该怎么做了吧!
Code:
//(Mode:C++)
//Author is Jelly_Goat.
//No cheat because it's very easy to understand.
#include <bits/stdc++.h>
#define ori ={1,1}//初始化,懒得打函数
using namespace std;struct fenshu{int fenzi,fenmu;fenshu a(void);
}k ori,b ori;
inline int gcd(int a,int b)
{while (b!=0){int c=b;b=a%b;a=c;}return a;
}
void work(int x1,int y1,int x2,int y2)
{k.fenzi=y2-y1,k.fenmu=x2-x1;//k=Δy/Δxint temp=gcd(k.fenzi,k.fenmu);k.fenzi/=temp,k.fenmu/=temp;//化简k//推导b:(y-y1)=k(x-x1) -> y=kx+(y1-k*x1) -> b=y1-k*x1b.fenzi=k.fenmu*y1-k.fenzi*x1,b.fenmu=k.fenmu;temp=gcd(b.fenzi,b.fenmu);b.fenzi/=temp,b.fenmu/=temp;//化简bprintf("y=%d",&k.fenzi);if (k.fenmu!=1){printf("/%d",&k.fenmu);}printf("*x");if (b.fenzi!=0){printf("+%d",&b.fenzi);if (b.fenmu!=1){printf("/%d",&b.fenmu);}}
}
int main()
{int x1,x2,y1,y2;scanf("%d%d%d%d",&x1,&y1,&x2,&y2);work(x1,y1,x2,y2);return 0;
}
然鹅一样的防作弊系统。(都懂)
Thanks for your reading! End here.
转载于:https://www.cnblogs.com/jelly123/p/10392034.html
题解 P2026 【求一次函数解析式】相关推荐
- P2026 求一次函数解析式【题解】
小模拟被我做成了大模拟题awa.{\color{green}{小模拟被我做成了大模拟题awa.}}小模拟被我做成了大模拟题awa. 题意解析: 给出平面上两个定点(x1,y1)(x_1,y_1)(x1 ...
- code vs1517 求一次函数解析式(数论 纯数学知识)
1517 求一次函数解析式 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题解 查看运行结果 题目描述 Description 相信大家都做过练习册上的 ...
- 【luogu2026】【数学】求一次函数解析式
传送门 题目背景 做数学寒假作业的怨念-- 题目描述 给定两个整点的坐标,求它们所在直线的函数解析式(一次函数). 输入格式 输入共两行. 第一行有两个整数x1,y1.表示第一个整点的坐标为(x1,y ...
- PAT甲级1087 All Roads Lead to Rome (30分):[C++题解]dijkstra求单源最短路综合、最短路条数、保存路径
文章目录 题目分析 题目链接 题目分析 来源:acwing 分析: 首先这是一道dijkstra算法求最短路的题目,不过此题较为复杂.首先需要将字符串城市名映射成数字,这里使用hash table 名 ...
- PAT甲级1003 Emergency:[C++题解]dijkstra求最短路、最短路条数
文章目录 题目分析 题目链接 题目分析 分析:求单源最短路,使用dijkstra()算法. 最短路的条数,和最短路中 人数最多的一条,输出最多人数. 本题点比较少,使用邻接矩阵d[N][N]来存. a ...
- 面试题解(4):求排列、组合
N个元素的集合中,任选M个元素所构成的排列P(M in N).组合C(M in N) 题1:0.1.2.3.4.5.6.7.8.9十个数字中,求所有非0开头的6个不重复数字的排列. 法1:很邪恶很强大 ...
- 如何利用计算机求函数解析式,数据结构表达式求值(计算器)实验报告(共10篇).doc...
数据结构表达式求值(计算器)实验报告(共10篇) 数据结构表达式求值(计算器)实验报告(共10篇) 数据结构课程设计_实验报告(一)表达式求值(计算器) 数据结构课程设计 实验报告 起止时间:2015 ...
- 初等数学题解:求平方根
===>点我返回目录<=== 数学里面有很多操作是互逆的,正向操作简单,但是逆向操作很复杂.平方的逆操作是开平方根,这个开方操作计算起来并不容易.费了我们先人很多功夫. 在中学的课本中,会 ...
- PAT甲级1030 Travel Plan (30分):[C++题解]dijkstra求单源最短路、保存路径
文章目录 题目分析 题目链接 题目分析 来源:PAT网站 分析 dijkstra模板默写过来,然后多了一个保存路径,使用数组pre[N]记录最短路上每个点的前驱,通过pre数组保存到vector中 v ...
最新文章
- Codeforces Round #447 (Div. 2) B. Ralph And His Magic Field 数学
- Hadoop streaming 排序、分桶参数设置
- iTerm的安装以及配置Oh My Zsh
- eclipse 国际化 $NON-NLS-1$ 含义
- activiti高亮显示图片_如今透明LED显示屏成为广告橱窗,它们之间有什么关联?...
- 配置独立于系统的PYTHON环境
- SwitchHost使用教程
- 文本聚类kmeans
- LDAP 统一认证 单点登录学习
- 二叉树中序线索化分析
- python operator.add_Python模块:operator简单介绍
- Splunk健康检查orphaned searches
- 怎么用python启动谷歌浏览器_Selenium 基于python 安装以及配置谷歌浏览器启动
- 【JokerのZYNQ7020】INTERRUPT(PL产生,PS处理)。
- android studio wifi,Android Studio第四十一期 - WIFI开发
- 就GIS二次开发的一些看法
- 神经网络编程的34个案例,java调用神经网络模型
- 时间计算题100道_搞定一建经济中让你抓耳挠腮的计算题(1)
- DC-DC(直流-直流)变换器
- STL教程:C++ STL快速入门
热门文章
- html3D网页实例
- it Ebook 免费
- 专访松下 | 20多年养老经验,日本养老标杆落地中国的经验与挑战
- 整理Eclipse常用快捷键
- 矢量计算机和标量计算机
- Java基础练习题11--[已知有十六支男子足球队参加2008 北京奥运会。 写一个程序,把这16 支球队随机分为4 个组,每组4只球队。采用List集合和随机数 2008 北京奥运会男足参赛国家:]
- 应届毕业第三年就升职360技术总监,总结3点晋升心得
- ElasticSearch 之 文本搜索
- 柔性电子: 用于无线连接和物联网应用的高导电率多层石墨烯石墨的可持续生产途径
- Flink kafka connectors 源码详解---<1>