高中方式轻松解决这个模拟题。

首先我们了解斜率的简单求法:

\[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/Δx
int 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*x1
b.fenzi=k.fenmu*y1-k.fenzi*x1,b.fenmu=k.fenmu;
temp=gcd(b.fenzi,b.fenmu);
b.fenzi/=temp,b.fenmu/=temp;//化简b
printf("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.

题解 P2026 【求一次函数解析式】的更多相关文章

  1. 洛谷——P2026 求一次函数解析式

    P2026 求一次函数解析式 题目背景 做数学寒假作业的怨念…… 题目描述 给定两个整点的坐标,求它们所在直线的函数解析式(一次函数). 输入输出格式 输入格式: 输入共两行. 第一行有两个整数x1, ...

  2. 洛谷 P2026 求一次函数解析式

    P2026 求一次函数解析式 题目背景 做数学寒假作业的怨念…… 题目描述 给定两个整点的坐标,求它们所在直线的函数解析式(一次函数). 输入输出格式 输入格式: 输入共两行. 第一行有两个整数x1, ...

  3. code vs1517 求一次函数解析式(数论 纯数学知识)

    1517 求一次函数解析式  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 白银 Silver 题解  查看运行结果     题目描述 Description 相信大家都做过练 ...

  4. codevs——1517 求一次函数解析式

    1517 求一次函数解析式  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 白银 Silver 题解       题目描述 Description 相信大家都做过练习册上的这种 ...

  5. leetCode题解之求二叉树每层的平均值

    1.题目描述 Given a non-empty binary tree, return the average value of the nodes on each level in the for ...

  6. leetCode题解之求二叉树最大深度

    1.题目描述 Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along t ...

  7. 【题解】求细胞数量-C++

    题目描述一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右若还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数.(1<=m,n<=100)? 输入输出格式输入格 ...

  8. Leetcode题解 - 双指针求n数之和

    1. 两数之和 """ 双指针,题目需要返回下标,所以记录一个数字对应的下标 """ class Solution: def twoSum( ...

  9. 洛谷——P2067 Cytus-Holyknight

    P2067 Cytus-Holyknight 题目背景 本人最初作 以此纪念伟大的ios.安卓.PSV平台音乐游戏<cytus> 后续将不断更新. -------------Chapter ...

随机推荐

  1. Direct2D处理几何图形之间的碰撞检测(下)

    转载请注明出处:http://www.cnblogs.com/Ray1024 一.概述 上一篇文章中我们介绍了几何图形与点的碰撞检测.几何图形与点的位置关系比较简单:点在几何图形内.点在几何图形外.点 ...

  2. Effective C++(Third Edition) Item29 为“异常安全”而努力是值得的

    “异常安全”有两个条件: 1.不泄露任何资源 可以通过以对象管理资源的方式(Item13). 2.不允许数据败坏 异常安全函数提供以下三种保证之一 a.基本承诺 如果异常被抛出,程序内的任何事物都仍然 ...

  3. Linux入门基础(五):Linux管道,重定向,文本处理

    多命令协作:管道及重定向 在Linux中,大多数命令都很简单,每个命令往往只实现一个或几个很简单功能. 我们可以通过将不同功能的命令组合起来一起使用,达到完成某个复杂功能的目的 CLI下几乎所有的命令 ...

  4. 通过python将xml文件转换成html文件

    #数据类型的转换 def main():    maxwidth = 100  #用于规范字段的长度    print_start()    count=0    while True:        ...

  5. JVM类加载全过程--图解

    JVM规范允许类加载器在预料某个类将要被使用时就预先加载它,下图为实例方法被调用时的JVM内存模型,1~7完整的描述了从类加载开始到方法执行前的预备过程,后面将对每一个步骤进行解释 在我们加载类的过程 ...

  6. Python基础系列讲解—动态类型语言的特点

    前言 在C语言中变量所分配到的地址是内存空间中一个固定的位置,当我们改变变量值时, 对应内存空间中的值也相应改变.在Python中变量存储的机制是完全不一样的,当给一个变量赋值时首先解释器会给这个值分 ...

  7. [shell] 脚本之shift和getopts (转载)

    转载地址:http://www.361way.com/shell-shift-getopts/4973.html 建议不熟悉getopts的朋友,此篇要看完,getopts部分内容在原作者上面有改动. ...

  8. 互评beta版本 - hello word!【空天猎】

    基于NABCD评论作品 1.Need需求:市面上同类型的手机及PC端飞行射击类游戏有很多,所以从需求方面来说,这款游戏的潜在客户非常有局限性.近些年较火的飞行射击类游戏,例如腾讯14年发行的<全 ...

  9. 《Spring1之第六次站立会议》

    <第六次站立会议> 昨天:向小伙伴们请教了我代码的错误的解决方法以及对TCP/IP协议进行了相关的了解. 今天:我把自己项目工程里的服务器端界面进行了优化和完善. 遇到的问题:觉得做的界面 ...

  10. SQL语句中 chinese_prc_CS_AI_WS 以及replace用法

          Select * from [DBData].[dbo].[T_Student] where Name='lilei'    查询结果如下:   结论:由查询结果可知 SQL Server ...